제출 #289409

#제출 시각아이디문제언어결과실행 시간메모리
289409johuthaSure Bet (CEOI17_sure)C++14
100 / 100
99 ms3832 KiB
#include <iostream>
#include <vector>
#include <algorithm>
#include <iomanip>

#define int int64_t

using namespace std;

signed main()
{
  	ios_base::sync_with_stdio(0);
  	cin.tie(0);
  
	int n;
  	cin >> n;
  
  	vector<double> as(n);
  	vector<double> bs(n);
  
  	for (int i = 0; i < n; i++) cin >> as[i] >> bs[i];
  	sort(as.begin(), as.end()); sort(bs.begin(), bs.end());
  	reverse(as.begin(), as.end()); reverse(bs.begin(), bs.end());
  
  	double mx = 0;
  	double a = 0;
  	double b = 0;
  
	int ap = 0, bp = 0;
  	while (ap + bp < 2*n)
    {
      	if (a < b && ap >= n) break;
      	if (b < a && bp >= n) break;
      	if (a < b) { a += as[ap]; ap++; }
      	else { b += bs[bp]; bp++; }
      	mx = max(mx, min(a, b) - (double)(ap + bp));
    }

    cout << setprecision(4) << fixed;
    cout << mx << "\n";
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...