比赛 ZLXOI2015Day2 评测结果 AAAAAAAAAA
题目名称 沼跃鱼数列变换 最终得分 100
用户昵称 mikumikumi 运行时间 0.043 s
代码语言 C++ 内存使用 1.15 MiB
提交时间 2015-10-30 19:25:26
显示代码纯文本
  1. #include<cstdio>
  2. using namespace std;
  3. const int SIZEN=100010,MOD=9999997;
  4. typedef long long LL;
  5. int N,M;
  6. int A[SIZEN];
  7. int C[SIZEN];
  8. bool H[SIZEN]={0};
  9. void read()
  10. {
  11. scanf("%d",&N);
  12. for(int i=1;i<=N;i++) scanf("%d",&A[i]);
  13. scanf("%d",&M);
  14. for(int i=1;i<=M;i++)
  15. {
  16. scanf("%d",&C[i]);
  17. H[C[i]]=1;
  18. }
  19. }
  20. void work()
  21. {
  22. LL ans=0;
  23. for(int i=1;i<=N;i++)
  24. if(H[i]==0)
  25. {
  26. ans+=(LL)A[i]+(A[i]*ans)%MOD;
  27. ans%=MOD;
  28. }
  29. LL tem=0;
  30. for(int i=1;i<=N;i++)
  31. {
  32. if(H[i]==1)
  33. {
  34. tem+=(LL)A[i]+(A[i]*ans)%MOD;
  35. tem%=MOD;
  36. }
  37. }
  38. ans+=tem;
  39. ans%=MOD;
  40. printf("%lld",ans);
  41. }
  42. int main()
  43. {
  44. freopen("Marshtomp.in","r",stdin);
  45. freopen("Marshtomp.out","w",stdout);
  46. read();
  47. work();
  48. return 0;
  49. }