比赛 ZLXOI2015Day2 评测结果 AAAAAAAAAA
题目名称 沼跃鱼数列变换 最终得分 100
用户昵称 农场主 运行时间 0.040 s
代码语言 C++ 内存使用 1.54 MiB
提交时间 2015-10-30 19:49:25
显示代码纯文本
#include<cstdio>
bool vis[100010]={0};
int s[100010]={0},A[100010]={0},c[2000]={0},P[100010]={0};
int main()
{
	freopen("Marshtomp.in","r",stdin);
	freopen("Marshtomp.out","w",stdout);
	int n,m;
	scanf("%d",&n);
	for (int i=1;i<=n;i++) scanf("%d",&A[i]);
	scanf("%d",&m);
	long long sum=0;
	for (int i=1;i<=m;i++){scanf("%d",&c[i]); vis[c[i]]=1; sum=(sum+A[c[i]])% 9999997;}
	long long Ans=0;
	for (int i=1;i<=n;i++)
		if (vis[i]==0) Ans=(Ans+Ans*A[i]+A[i])% 9999997;
	long long f=Ans;
	for (int i=1;i<=m;i++)
		Ans=(Ans+f*A[c[i]])% 9999997;
	Ans=(Ans+sum)% 9999997;
	printf("%lld",Ans);
}