比赛 “Asm.Def战记之夏威夷”杯 评测结果 WWWWWWWWWW
题目名称 Asm.Def的验证码 最终得分 0
用户昵称 sxysxy 运行时间 0.030 s
代码语言 C++ 内存使用 0.70 MiB
提交时间 2015-11-06 10:12:11
显示代码纯文本
#include <cstring>
#include <cstdio>
#include <cstdlib>
#include <string>
#include <vector>
#include <map>
#include <algorithm>
#include <iostream>
#include <queue>
using namespace std;
//#define dbg

#ifndef dbg
void set_file()
{
	freopen("asm_code.in", "r", stdin);
	freopen("asm_code.out", "w", stdout);
}
#endif

int N;
#define MAXN (100001)
#define AC_MOD (1000000007)

int ms[MAXN];
int CB = 0;
int CW = 0;
long long tot_line = 0;

long long jiejia(long long n)
{
	return ((1+n)*n/2)%AC_MOD;
}

void rd()
{
	int i;
	scanf("%d", &N);
	for(i = 1; i <= N; i++)
	{
		scanf("%d", ms+i);
		if(ms[i] == 1)CB++;
		else CW++;
	}
}

void solve()
{
	tot_line = (jiejia(CB-1)+jiejia(CW-1))%AC_MOD;
	//cout << CB << ' ' << CW << ' ' << tot_line << endl;
	int i,j;
	j = 1;
	for(i = 2; i <= N ;i++)
	{
		if(ms[i] != ms[i-1])
		{
			tot_line -= jiejia(j-1);
			j = 1;	
		}
		else j++;
	}
	cout << tot_line%AC_MOD << endl;
}

int main()
{
#ifndef dbg
	set_file();
#endif

	rd();
	solve();
	
	return 0;
}