比赛 ZLXOI2015Day2 评测结果 AAAAAAAAAA
题目名称 沼跃鱼数列变换 最终得分 100
用户昵称 KZNS 运行时间 0.043 s
代码语言 C++ 内存使用 0.57 MiB
提交时间 2015-10-30 20:02:02
显示代码纯文本
// KZ's
#include <fstream>
using namespace std;
#define md 9999997
typedef long long ll;
int main() {
	ifstream fin ("Marshtomp.in");
	ofstream fout ("Marshtomp.out");
	int n,m,a[100003]={0},b[1003];
	fin>>n;
	for (int i=1;i<=n;i++)
		fin>>a[i];
	fin>>m;
	ll ed=0;
	if (!m) {
		for (int i=1;i<=n;i++) {
			ed+=ed*a[i]%md+a[i];
			ed%=md;
		}
		fout<<ed<<endl;
		return 0;
	}
	int kk;
	for (int i=0;i<m;i++) {
		fin>>kk;
		b[i]=a[kk];
		a[kk]=0;
	}
	ll uu=0;
	for (int i=1;i<=n;i++) {
		uu+=uu*a[i]%md+a[i];
		uu%=md;
	}
	ed=uu;
	for (int i=0;i<m;i++) {
		ed+=uu*b[i]%md+b[i];
		ed%=md;
	}
	fout<<ed<<endl;
	return 0;
}
// UBWH