Submission #1105961

#TimeUsernameProblemLanguageResultExecution timeMemory
1105961Rolo678Gym Badges (NOI22_gymbadges)C++14
0 / 100
920 ms1048576 KiB
#include <bits/stdc++.h> using namespace std; int main() { int n; cin >> n; vector<pair<int,pair<int,int>>>a(n+1); for(int i = 1;i<=n;i++) { cin >> a[i].second.first >> a[i].second.second ; a[i].first = a[i].second.first + a[i].second.second; } sort(a.begin(),a.end()); vector<vector<int>>dp(n+1,vector<int>(n+1,1e15+5)); dp[0][0] = 0; for(int i = 1;i<=n;i++) { for(int j = 1 ;j<=i;j++) { if(dp[i-1][j-1] <= a[i].second.second ) dp[i][j] = min(dp[i-1][j-1]+a[i].second.first, dp[i-1][j]); else dp[i][j] = dp[i-1][j]; } } int ans = 0; for(int i =1;i<=n;i++) { ans = max(ans,dp[n][i]); } cout << ans << '\n'; }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:16:49: warning: overflow in conversion from 'double' to 'std::vector<int>::value_type' {aka 'int'} changes value from '1.000000000000005e+15' to '2147483647' [-Woverflow]
   16 |   vector<vector<int>>dp(n+1,vector<int>(n+1,1e15+5));
      |                                             ~~~~^~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...