Submission #532011

#TimeUsernameProblemLanguageResultExecution timeMemory
532011Haruto810198Let's Win the Election (JOI22_ho_t3)C++17
10 / 100
34 ms344 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define double long double #define FOR(i, l, r, d) for(int i=(l); i<=(r); i+=(d)) #define szof(x) ((int)(x).size()) #define vi vector<int> #define pii pair<int, int> #define F first #define S second #define pb push_back #define eb emplace_back #define mkp make_pair const int INF = INT_MAX; const int LNF = INF*INF; const int MOD = 1000000007; const int mod = 998244353; const double eps = 1e-12; //#pragma GCC optimize("Ofast") //#pragma GCC optimize("unroll-loops") const int MAX = 510; struct State{ double A, B; }; int n, k; State state[MAX]; double res; bool cmp_by_A(State x, State y){ return (x.A < y.A); } bool cmp_by_B(State x, State y){ return (x.B < y.B); } signed main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin>>n>>k; FOR(i, 1, n, 1){ cin>>state[i].A>>state[i].B; if(state[i].B == -1) state[i].B = INF; } res = INF; // enum. n. of collaborators FOR(i, 0, k, 1){ // i collaborators sort(state+1, state+n+1, cmp_by_B); sort(state+i+1, state+n+1, cmp_by_A); double sum = 0; double col = 1; FOR(j, 1, i, 1){ sum += state[j].B / col; col += 1; } FOR(j, i+1, k, 1){ sum += state[j].A / col; } res = min(res, sum); //cerr<<"i = "<<i<<" : sum = "<<sum<<endl; } cout<<fixed<<setprecision(12)<<res<<'\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...