Submission #371149

#TimeUsernameProblemLanguageResultExecution timeMemory
371149daniel920712Intergalactic ship (IZhO19_xorsum)C++14
0 / 100
2070 ms5740 KiB
#include <iostream> #include <stdio.h> #include <stdlib.h> using namespace std; long long all[200005]; pair < pair < long long , long long > , long long > tt[200005]; long long ans=0,N,M; void F(long long here) { long long i,j; if(here==M) { for(i=1;i<=N;i++) { ans+=all[i]*all[i]*(i)*(N-i+1); for(j=i+1;j<=N;j++) ans+=all[i]*all[j]*(i)*(N-j+1)*2; } return; } F(here+1); for(i=tt[here].first.first;i<=tt[here].first.second;i++) all[i]^=tt[here].second; F(here+1); for(i=tt[here].first.first;i<=tt[here].first.second;i++) all[i]^=tt[here].second; } int main() { long long i; scanf("%lld",&N); for(i=1;i<=N;i++) scanf("%lld",&all[i]); scanf("%lld",&M); for(i=0;i<M;i++) scanf("%lld",&tt[i].first.first,&tt[i].first.second,&tt[i].second); F(0); printf("%lld\n",ans); return 0; }

Compilation message (stderr)

xorsum.cpp: In function 'int main()':
xorsum.cpp:32:28: warning: too many arguments for format [-Wformat-extra-args]
   32 |     for(i=0;i<M;i++) scanf("%lld",&tt[i].first.first,&tt[i].first.second,&tt[i].second);
      |                            ^~~~~~
xorsum.cpp:29:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   29 |     scanf("%lld",&N);
      |     ~~~~~^~~~~~~~~~~
xorsum.cpp:30:28: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   30 |     for(i=1;i<=N;i++) scanf("%lld",&all[i]);
      |                       ~~~~~^~~~~~~~~~~~~~~~
xorsum.cpp:31:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   31 |     scanf("%lld",&M);
      |     ~~~~~^~~~~~~~~~~
xorsum.cpp:32:27: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   32 |     for(i=0;i<M;i++) scanf("%lld",&tt[i].first.first,&tt[i].first.second,&tt[i].second);
      |                      ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...