Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin ("credite.in");
- ofstream fout ("credite.out");
- int dp[2][10005] , n;
- struct D
- {
- int val , timp;
- };
- D a[10005];
- inline bool CMP(const D A , const D B)
- {
- return A . timp < B . timp;
- }
- int main()
- {
- int lin = 0 , mx = 0;
- fin >> n;
- for(int i = 1 ; i <= n ; i++)
- fin >> a[i] . val >> a[i] . timp;
- sort(a + 1 , a + n + 1 , CMP);
- for(int i = 1 ; i <= n ; i++)
- {
- lin = 1 - lin;
- for(int j = 1 ; j <= a[i] . timp ; j++)
- dp[lin][j] = max(dp[1 - lin][j - 1] + a[i] . val , dp[1 - lin][j]);
- }
- mx = 0;
- for(int i = 1 ; i <= a[n] . timp ; i++)
- mx = max(mx , dp[lin][i]);
- fout << mx << "\n";
- fin.close();
- fout.close();
- return 0;
- }
Add Comment
Please, Sign In to add comment