Submission #491808

#TimeUsernameProblemLanguageResultExecution timeMemory
491808uncriptedRack (eJOI19_rack)C++11
100 / 100
9 ms8140 KiB
#include<bits/stdc++.h> using namespace std; long long const m=1000000007; long long a[1000005]; long long p2[1000001]; int main(){ long long n,k; cin>>n>>k; long long k1=k; long long ii=1; k1--; p2[0]=1; for(long long i=1; i<=1000001; i++){ p2[i]=(p2[i-1]*2)%m; } while(k1>0){ a[ii]=k1%2; k1=k1/2; ii++; //cout<<k1<<"l"<<endl; } ii=n; long long sum=0; for(long long i=ii; i>=1; i--){ if(a[i]==1){ sum+=(p2[ii-i]); sum=sum%m; } } cout<<(sum+1)%m; }

Compilation message (stderr)

rack.cpp: In function 'int main()':
rack.cpp:16:8: warning: iteration 1000000 invokes undefined behavior [-Waggressive-loop-optimizations]
   16 |   p2[i]=(p2[i-1]*2)%m;
      |   ~~~~~^~~~~~~~~~~~~~
rack.cpp:15:22: note: within this loop
   15 |  for(long long i=1; i<=1000001; i++){
      |                     ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...