Submission #128250

#TimeUsernameProblemLanguageResultExecution timeMemory
128250mohammedehab2002Cake 3 (JOI19_cake3)C++11
0 / 100
4 ms504 KiB
#include <iostream>
#include <algorithm>
#include <set>
using namespace std;
pair<int,int> arr[200005];
int main()
{
	int n,m;
	scanf("%d%d",&n,&m);
	for (int i=1;i<=n;i++)
	scanf("%d%d",&arr[i].second,&arr[i].first);
	sort(arr+1,arr+n+1);
	long long ans=0;
	for (int i=1;i<=n;i++)
	{
		multiset<int> s;
		long long sum=0;
		for (int j=i;j<n;j++)
		{
			if (s.size()<m-1 || *s.begin()<arr[j].second)
			{
				if (s.size()==m-1)
				{
					sum-=*s.begin();
					s.erase(s.begin());
				}
				s.insert(arr[j].second);
				sum+=arr[j].second;
			}
			if (s.size()==m-1)
			ans=max(ans,sum+arr[j+1].second-2LL*arr[j+1].first+2LL*arr[i].first);
		}
	}
	printf("%lld",ans);
}

Compilation message (stderr)

cake3.cpp: In function 'int main()':
cake3.cpp:20:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if (s.size()<m-1 || *s.begin()<arr[j].second)
        ~~~~~~~~^~~~
cake3.cpp:22:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if (s.size()==m-1)
         ~~~~~~~~^~~~~
cake3.cpp:30:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    if (s.size()==m-1)
        ~~~~~~~~^~~~~
cake3.cpp:9:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d",&n,&m);
  ~~~~~^~~~~~~~~~~~~~
cake3.cpp:11:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d",&arr[i].second,&arr[i].first);
  ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...