比赛 “Asm.Def战记之夏威夷”杯 评测结果 AWWWWWWWWW
题目名称 Asm.Def的验证码 最终得分 10
用户昵称 1azyReaper 运行时间 0.030 s
代码语言 C++ 内存使用 1.84 MiB
提交时间 2015-11-06 11:36:05
显示代码纯文本
#include <fstream>
#include <algorithm>
#include <cstdio>
#include <cstring>
#define ifs ifstream
#define ofs ofstream
#define MOD 1000000007
#define MAX 100010
using namespace std;
ifs fin("asm_code.in");
ofs fout("asm_code.out");
int n,a[MAX];
int l1,l2,r1,r2;
class node
{
public:
	int x,y;
	int num;
}g[MAX];
int main()
{
	fin>>n;
	for(int i=1;i<=n;i++)
		fin>>a[i];
	l1=l2=r1=r2=0;
	int no=0,p=1,tot=0;
	for(int i=1;i<=n;i++)
	{
		no=i+1;
		while(a[i]==a[no])
			no++;
		tot++;
		g[tot].x=p;
		g[tot].y=no-1;
		g[tot].num=no-p;
		p=no;
		i=no-1;
	}
	long long ans=0;
	for(int i=1;i<=tot;i++)
	{
		if(i+3<=tot)
		{
			ans=(ans+(g[i].num*g[i+1].num%MOD)*(g[i+2].num*g[i+3].num%MOD))%MOD;
		}
	}
	ans%=MOD;
	fout<<ans<<endl;
	return 0;
}