Submission #1150997

#TimeUsernameProblemLanguageResultExecution timeMemory
1150997justkitkatLet's Win the Election (JOI22_ho_t3)C++17
0 / 100
6 ms8264 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define vi vector<int> #define show3(x,y,z) cout<<#x<<": "<<x<<" | "<<#y<<": "<<y<<" | "<<#z<<": "<<z<<endl; int n,k; vector<pair<int,int>>a; #define ld long double int memo[1005][1005]; ld dp(int pos, int collab){ if(pos==n)return 0; if(memo[pos][collab]!=-1)return memo[pos][collab]; ld res=2e18; // dont take collab res=min(res,dp(pos+1,collab)+a[pos].second/(ld)collab); //take collab if(a[pos].first!=LLONG_MAX) res=min(res,dp(pos+1,collab+1)+a[pos].first/(ld)collab); // cout<<"pos: "<<pos<<endl; // cout<<a[pos].first<<' '<<a[pos].second<<endl; // cout<<res<<endl; return memo[pos][collab]=res; } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin>>n>>k; fill(&memo[0][0],&memo[0][0]+1005*1005,-1); a.resize(n); for(auto &x:a){ cin>>x.second>>x.first; if(x.first==-1)x.first=LLONG_MAX; } sort(a.begin(),a.end()); ld ans=dp(0,1); cout<<ans; }
#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...