比赛 EYOI与SBOI开学欢乐赛13th 评测结果 AAAATTTTTT
题目名称 WHZ 的序列 最终得分 40
用户昵称 qyd 运行时间 6.966 s
代码语言 C++ 内存使用 6.53 MiB
提交时间 2022-10-21 21:21:21
显示代码纯文本
  1. #include<iostream>
  2. using namespace std;
  3. #define ll long long
  4. ll a[200001];
  5. ll s=0;
  6. void oprst(int l,int r,int d);
  7. void oprnd(int l,int r);
  8. int main()
  9. {
  10. freopen("whz_sequence.in","r",stdin);
  11. freopen("whz_sequence.out","w",stdout);
  12. int n,q;
  13. cin>>n;
  14. for(int i=1;i<=n;i++)
  15. cin>>a[i];
  16. cin>>q;
  17. while(q)
  18. {
  19. q--;
  20. int opt;
  21. cin>>opt;
  22. if(opt==1)
  23. {
  24. int l,r,d;
  25. cin>>l>>r>>d;
  26. oprst(l,r,d);
  27. }
  28. if(opt==2)
  29. {
  30. int l,r;
  31. cin>>l>>r;
  32. oprnd(l,r);
  33. cout<<s<<endl;
  34. }
  35. }
  36. return 0;
  37. }
  38. void oprst(int l,int r,int d)
  39. {
  40. for(int i=l;i<=r;i++)
  41. a[i]+=d;
  42. return ;
  43. }
  44. void oprnd(int l,int r)
  45. {
  46. s=0;
  47. int i=1;
  48. for(int k=l;k<=r;k++)
  49. {
  50. s+=i*a[k];
  51. i*=(-1);
  52. }
  53. return ;
  54. }