Submission #1345806

#TimeUsernameProblemLanguageResultExecution timeMemory
1345806tte0Sure Bet (CEOI17_sure)C++20
60 / 100
2094 ms1860 KiB
// Author: Teoman Ata Korkmaz
#include <bits/stdc++.h> 
#define int int64_t
using namespace std;
///////////////////////////////////////////////////////////
int n;
vector<double> a,b;

signed main(void){
	cin>>n;
	a.resize(n);
	b.resize(n);
	for(int i=0;i<n;i++)cin>>a[i]>>b[i];

	sort(a.rbegin(),a.rend());
	sort(b.rbegin(),b.rend());

	for(int i=1;i<n;i++)a[i]+=a[i-1];
	for(int i=1;i<n;i++)b[i]+=b[i-1];

	// cerr<<fixed<<setprecision(4);
	// cerr<<"a:";for(auto i:a)cerr<<" "<<i;cerr<<endl;
	// cerr<<"b:";for(auto i:b)cerr<<" "<<i;cerr<<endl;

	double ans=0;
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			ans=max(ans,min(a[i],b[j])-double(i+j+2));
			// cerr<<"i,j,ans: "<<i<<" "<<j<<" "<<ans<<endl;
		}
	}

	cout<<fixed<<setprecision(4)<<ans<<endl;
}

/*
 * min(a[i],b[j])-i-j
 *
 * insert(x)
 * add(x)
 * max()
 */
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...