Submission #595495

#TimeUsernameProblemLanguageResultExecution timeMemory
595495DeepessonUplifting Excursion (BOI22_vault)C++17
0 / 100
198 ms4200 KiB
#include <bits/stdc++.h> #define MAX 1000005 int maximo[MAX]; int bonus = MAX/2; typedef std::pair<int,int> pii; int main() { long long N,M; std::cin>>N>>M; if(abs(M)>bonus){ std::cout<<"impossible\n"; return 0; } for(auto&x:maximo)x=-(1e6); maximo[bonus]=0; for(int i=-N;i<=N;++i){ int c; std::cin>>c; if(!c)continue; int valor=abs(i); if(!valor){ for(auto&x:maximo)x+=c; continue; } std::deque<int> vals[valor]; ///Da direita para a esquerda if(i>0){ for(int j=0;j!=MAX-1;++j){ int mod = j%valor; int kok = j/valor; int v = -1; for(auto&x:vals[mod]){ v=std::max(v,x+kok); } vals[mod].push_back(maximo[j]-kok); if(vals[mod].size()>c)vals[mod].pop_front(); maximo[j]=std::max(maximo[j],v); } }else if(i<0){ for(int j=MAX-1;j!=-1;--j){ int mod = j%valor; int kok = j/valor; int v = -1; for(auto&x:vals[mod]){ v=std::max(v,x-kok); } vals[mod].push_back(maximo[j]+kok); if(vals[mod].size()>c)vals[mod].pop_front(); maximo[j]=std::max(maximo[j],v); } } } ///como proceder caso x=0? if(maximo[M+bonus]<=0){ std::cout<<"impossible\n"; return 0; } std::cout<<maximo[M+bonus]<<"\n"; }

Compilation message (stderr)

vault.cpp: In function 'int main()':
vault.cpp:36:36: warning: comparison of integer expressions of different signedness: 'std::deque<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   36 |                 if(vals[mod].size()>c)vals[mod].pop_front();
      |                    ~~~~~~~~~~~~~~~~^~
vault.cpp:48:36: warning: comparison of integer expressions of different signedness: 'std::deque<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   48 |                 if(vals[mod].size()>c)vals[mod].pop_front();
      |                    ~~~~~~~~~~~~~~~~^~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...