Submission #783640

#TimeUsernameProblemLanguageResultExecution timeMemory
783640kshitij_sodaniLong Distance Coach (JOI17_coach)C++14
71 / 100
2079 ms18932 KiB
#include <bits/stdc++.h> using namespace std; #define a first #define b second #define pb push_back typedef long long llo; #define endl '\n' llo it[200001]; llo dp[200001]; llo xx[200001]; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); llo x,n,m,w,t; cin>>x>>n>>m>>w>>t; vector<pair<pair<llo,llo>,llo>> ss; llo ans=((x/t)+1)*w; for(llo i=0;i<n;i++){ cin>>it[i]; ss.pb({{it[i]%t,-1},it[i]/t}); } ss.pb({{x%t,-1},x/t}); for(llo i=0;i<m;i++){ llo aa,bb; cin>>aa>>bb; if((aa)<(x%t)){ ans+=((x/t)*w)+w; xx[i]=(x/t); } else{ ans+=(((x/t))*w); xx[i]=(x/t)-1; } ss.pb({{aa,xx[i]},bb}); } //cout<<ans<<endl; sort(ss.begin(),ss.end()); dp[0]=0; llo ma=0; /*for(auto j:ss){ cout<<j.a.a<<":"<<j.a.b<<":"<<j.b<<endl; }*/ for(llo i=0;i<ss.size();i++){ dp[i+1]=dp[i]; if(ss[i].a.b==-1){ llo su=0; for(llo j=i-1;j>=0;j--){ if(ss[j].a.b>=0){ su+=(w*(ss[j].a.b-ss[i].b+1))-ss[j].b; } dp[i+1]=max(dp[i+1],dp[j]+su); } } ma=max(ma,dp[i+1]); //cout<<dp[i+1]<<","; } //cout<<endl; ans-=ma; cout<<ans<<endl; return 0; }

Compilation message (stderr)

coach.cpp: In function 'int main()':
coach.cpp:45:15: warning: comparison of integer expressions of different signedness: 'llo' {aka 'long long int'} and 'std::vector<std::pair<std::pair<long long int, long long int>, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   45 |  for(llo i=0;i<ss.size();i++){
      |              ~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...