Submission #140128

#TimeUsernameProblemLanguageResultExecution timeMemory
140128KLPPCake 3 (JOI19_cake3)C++14
24 / 100
4066 ms7480 KiB
#include<bits/stdc++.h> using namespace std; typedef long long int lld; typedef pair<lld,lld> pii; #define rep(i,a,b) for(int i=a;i<b;i++) #define trav(a,v) for(auto a:v) #define INF 1000000000000000000 int main(){ int n,m; scanf("%d %d",&n,&m); pii cakes[n]; rep(i,0,n){ scanf("%lld %lld",&cakes[i].second,&cakes[i].first); } sort(cakes,cakes+n); //rep(i,0,n)cout<<cakes[i].first<<" "<<cakes[i].second<<endl; lld ans=-INF; rep(i,0,n){ priority_queue<lld> pq; lld sum=0; rep(j,i,n){ sum+=cakes[j].second; pq.push(-cakes[j].second); while(pq.size()>m){ sum+=pq.top();pq.pop(); } //cout<<sum+2*cakes[i].first-2*cakes[j].first<<endl; if(pq.size()==m)ans=max(ans,sum+2*cakes[i].first-2*cakes[j].first); } } printf("%lld\n",ans); /*rep(i,0,(1<<n)){ vector<int> v; rep(j,0,n){ if(((1<<j)&i)>0){ v.push_back(j); } } if(v.size()==m){ lld sum=0; lld Max=-INF; lld Min=INF; trav(a,v){ Max=max(Max,cakes[v[a]].first); Min=min(Min,cakes[v[a]].first); sum+=cakes[v[a]].second; } if(sum-2*(Max-Min)==2323231661){ trav(a,v)cout<<a<<endl; } } }*/ return 0; }

Compilation message (stderr)

cake3.cpp: In function 'int main()':
cake3.cpp:26:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       while(pq.size()>m){
             ~~~~~~~~~^~
cake3.cpp:30:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       if(pq.size()==m)ans=max(ans,sum+2*cakes[i].first-2*cakes[j].first);
          ~~~~~~~~~^~~
cake3.cpp:12:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d %d",&n,&m);
   ~~~~~^~~~~~~~~~~~~~~
cake3.cpp:15:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%lld %lld",&cakes[i].second,&cakes[i].first);
     ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...