比赛 “Asm.Def战记之夏威夷”杯 评测结果 AWWWWWWWWW
题目名称 Asm.Def的验证码 最终得分 10
用户昵称 万千世界,吾为大主宰 运行时间 0.083 s
代码语言 C++ 内存使用 1.29 MiB
提交时间 2015-11-06 09:03:11
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cmath>
#include<vector>
#include<cstring>
#include<deque>
#include<map>
#define ll long long
#define mod 1000000007
using namespace std;
int n,a[100001];
int l1,l2,r1,r2;
struct sd{
	int x,y,num;
}g[100001];
int main()
{
	freopen("asm_code.in","r",stdin);
	freopen("asm_code.out","w",stdout);
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	scanf("%d",&a[i]);
	l1=0;l2=0;r1=0;r2=0;
	int no=0;
	int p=1;int 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;
	}
	ll 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;
	printf("%lld\n",ans);
}