Submission #613723

#TimeUsernameProblemLanguageResultExecution timeMemory
613723KALARRYAddk (eJOI21_addk)C++14
92 / 100
63 ms4980 KiB
#include<bits/stdc++.h> using namespace std; long long N,K,Q,a[100005],preffix[100005],mullpreff[100005]; long long S1(long long l,long long r) { return mullpreff[r]-mullpreff[l-1]-(l-1)*(preffix[r]-preffix[l-1]); } long long S2(long long l,long long r) { return (r+1)*(preffix[r]-preffix[l-1])-mullpreff[r]+mullpreff[l-1]; } int main() { scanf("%lld%lld",&N,&K); for(long long i =1 ; i <= N ; i++) { scanf("%lld",&a[i]); preffix[i]=preffix[i-1]+a[i]; mullpreff[i]=mullpreff[i-1]+i*a[i]; } scanf("%lld",&Q); for(long long op,ans,l,r,m,i =1 ; i <= Q ; i++) { scanf("%lld",&op); if(op==1) { scanf("%*d"); continue; } scanf("%lld%lld%lld",&l,&r,&m); if(2*m<=r-l+1) { ans= S1(l,l+m-1) +S2(r-m+1,r)+ (preffix[r-m]-preffix[l+m-1])*m; printf("%lld\n",ans); } else { long long d=r-l+2-m; ans = S1(l,r-m)+S2(l+m,r)+d*(preffix[l+m-1]-preffix[r-m]); printf("%lld\n",ans); } } return 0; }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:18:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   18 |     scanf("%lld%lld",&N,&K);
      |     ~~~~~^~~~~~~~~~~~~~~~~~
Main.cpp:21:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   21 |         scanf("%lld",&a[i]);
      |         ~~~~~^~~~~~~~~~~~~~
Main.cpp:25:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   25 |     scanf("%lld",&Q);
      |     ~~~~~^~~~~~~~~~~
Main.cpp:28:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   28 |         scanf("%lld",&op);
      |         ~~~~~^~~~~~~~~~~~
Main.cpp:31:18: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   31 |             scanf("%*d");
      |             ~~~~~^~~~~~~
Main.cpp:34:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   34 |         scanf("%lld%lld%lld",&l,&r,&m);
      |         ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...