Submission #121326

#TimeUsernameProblemLanguageResultExecution timeMemory
121326killB0xSure Bet (CEOI17_sure)C++14
100 / 100
91 ms3228 KiB
using namespace std;
    #include <bits/stdc++.h>
    typedef long long int ll;
    typedef unsigned long long int ull;
    typedef pair<int,int> ii;
    typedef pair<ll,ll> dl;
    typedef vector<ii> vii;
    typedef vector<dl> vdll;
    typedef vector<int> vi;
    typedef vector<ll> vll;
    typedef vector<string> vs;
    #define pb push_back
    #define mp make_pair
    #define ft first
    #define sc second
    #define in insert
    #define bs binary_search
    #define INF LLONG_MAX
    #define rc(s) return cout << s,0
    #define int ll
    const ll mod=1e9+7;
    const int N=100005;
    #define int ll
    /*----------------------------*/
    /*----------------------------*/
    int32_t main() {
    	//freopen("sol.in","r",stdin);
    	//freopen("sol.out","w",stdout);
        /**///------------------------///**/
        /**/ios::sync_with_stdio(false);/**/
        /**///------------------------///**/
        int n;
	cin>>n;
    	double a,b;
    	vector<double> x,y;
    	for(int i=1;i<=n;i++)cin>>a>>b,x.pb(a),y.pb(b);
    	sort(x.begin(),x.end());
    	sort(y.begin(),y.end());
    	reverse(x.begin(),x.end());
    	reverse(y.begin(),y.end());
    	double ans=0;
    	double inda=0,indb=0;
	a=0,b=0;
	while(inda<=n&&indb<=n)
	{
	    if(a<b&&inda<n)
		{
			a+=x[inda];
			inda++;
		}
		else
		{
			b+=y[indb];
			indb++;
		}
		//cout<<inda<<' '<<indb<<endl;
	    ans=max(ans,min(a-inda-indb,b-inda-indb));
	}
    	printf("%.4lf",(double)ans);
       	//THIS IS IS THE END
    }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...