Submission #563575

#TimeUsernameProblemLanguageResultExecution timeMemory
563575groshiSnowball (JOI21_ho_t2)C++17
100 / 100
96 ms13924 KiB
#include<iostream> #include<vector> #include<algorithm> #include<utility> using namespace std; vector<pair<long long,int> > Q; long long t[300000]; long long odp[300000]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n,q; long long x; cin>>n>>q; t[0]=-1e18; for(int i=1;i<=n;i++) { cin>>x; t[i]=x; } t[n+1]=1e18; for(int i=1;i<=n+1;i++) Q.push_back({t[i]-t[i-1],i}); sort(Q.begin(),Q.end()); long long l=0,r=0,gdzie=0,wskaz=0; while(q--) { cin>>x; gdzie+=x; r=max(r,gdzie); l=min(l,gdzie); if(x<=0) { while(Q[wskaz].first<=r-l) { odp[Q[wskaz].second-1]+=r; odp[Q[wskaz].second]+=(Q[wskaz].first-r); wskaz++; } } else{ while(Q[wskaz].first<=r-l) { odp[Q[wskaz].second]+=(-l); odp[Q[wskaz].second-1]+=(Q[wskaz].first-(-l)); wskaz++; } } } while(wskaz<Q.size()) { odp[Q[wskaz].second-1]+=r; odp[Q[wskaz].second]+=(-l); wskaz++; } for(int i=1;i<=n;i++) cout<<odp[i]<<"\n"; return 0; }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:52:16: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   52 |     while(wskaz<Q.size())
      |           ~~~~~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...