Submission #140100

#TimeUsernameProblemLanguageResultExecution timeMemory
140100KLPPCake 3 (JOI19_cake3)C++14
0 / 100
2 ms376 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 sum_1[n]; lld sum_2[n]; sum_1[0]=cakes[0].second; sum_2[0]=0; rep(i,1,n){ sum_1[i]=sum_1[i-1]+cakes[i].second; sum_2[i]=sum_1[i-1]; } rep(i,0,n){ sum_1[i]-=cakes[i].first*2; sum_2[i]-=cakes[i].first*2; //cout<<sum_1[i]<<" "<<sum_2[i]<<endl; } lld ans=-INF; for(int i=0;i+m-1<n;i++){ ans=max(ans,sum_1[i+m-1]-sum_2[i]); //cout<<ans<<endl; } 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: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...