Submission #865391

#TimeUsernameProblemLanguageResultExecution timeMemory
865391vjudge1Sure Bet (CEOI17_sure)C++17
0 / 100
1 ms2396 KiB
#include <map> #include <set> #include <list> #include <cmath> #include <ctime> #include <deque> #include <queue> #include <stack> #include <string> #include <bitset> #include <cstdio> #include <limits> #include <vector> #include <climits> #include <cstring> #include <cstdlib> #include <fstream> #include <numeric> #include <sstream> #include <cassert> #include <iomanip> #include <iostream> #include <algorithm> #include <stdio.h> #include <fstream> #include <unordered_map> using namespace std; typedef long long ll; typedef long double ld; #define all(x) x.begin(),x.end() #define pb push_back #define ent "\n" const int maxn = (int)3e5 + 13; const ll inf = (long long)1e18 + 20; const int mod = (int)1e9 + 7; int n; pair<ld,ld>a[maxn]; ld pref[maxn]; int get(int x,int y){ int ans = x / pow(4,y); ans %= 4; return ans; } void solve(){ cin >> n; for(int i = 1 ; i <= n ; i ++){ cin >> a[i].first >> a[i].second; } ld mx = 0; for(int i = 0 ; i <= pow(4,n) ; i ++){ ld one = 0,sec = 0,cnt = 0; for(int j = 0 ; j < n ; j ++){ int calc = get(i,j); if(calc!=0){ if(calc == 1){ one+=a[j + 1].first; } else if(calc == 2){ sec += a[j + 1].second; } else{ sec += a[j + 1].second,one += a[j + 1].first; cnt++; } cnt++; } } mx = max(mx,min(one,sec) - cnt); } cout <<fixed << setprecision(9)<< mx; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); int t = 1; //cin >> t; while(t --){ solve(); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...