Submission #540492

# Submission time Handle Problem Language Result Execution time Memory
540492 2022-03-20T13:52:15 Z fcw Cloud Computing (CEOI18_clo) C++17
54 / 100
486 ms 1236 KB
#include <bits/stdc++.h>
#define st first
#define nd second
using lint = int64_t;
constexpr int mod = int(1e9) + 7;
constexpr int inf = 0x3f3f3f3f;
constexpr int ninf = 0xcfcfcfcf;
constexpr lint linf = 0x3f3f3f3f3f3f3f3f;
const long double pi = acosl(-1.0);
// Returns -1 if a < b, 0 if a = b and 1 if a > b.
int cmp_double(double a, double b = 0, double eps = 1e-9) {
	return a + eps > b ? b + eps > a ? 0 : 1 : -1;
}
using namespace std;


int main() {
	cin.tie(nullptr)->sync_with_stdio(false);
	int n;
	cin>>n;
	vector<int>c(n), f(n), v(n);
	for(int i=0;i<n;i++) cin>>c[i]>>f[i]>>v[i];
	int q;
	cin>>q;
	c.resize(n+q);
	f.resize(n+q);
	v.resize(n+q);
	for(int i=n;i<n+q;i++) cin>>c[i]>>f[i]>>v[i];
	vector<pair<int, int>>e(n+q);
	for(int i=0;i<n+q;i++) e[i] = {f[i], i};
	sort(e.rbegin(), e.rend());
	const int ms = 100000;
	vector<lint>dp(ms+2, -linf);
	dp[0] = 0;
	for(auto [_, i] : e){
		if(i < n){
			for(int j=ms-c[i];j>=0;j--){
				if(dp[j] == -linf) continue;
				dp[j+c[i]] = max(dp[j+c[i]], dp[j] - v[i]);
			}
		}
		else{
			for(int j=c[i];j<=ms;j++){
				if(dp[j] == -linf) continue;
				dp[j-c[i]] = max(dp[j-c[i]], dp[j] + v[i]);
			}
		}
	}
	lint ans = 0;
	for(int j=0;j<=ms;j++) ans = max(ans, dp[j]);
	cout<<ans<<"\n";







	return 0;
}
/*
[  ]Leu o problema certo???
[  ]Ver se precisa de long long
[  ]Viu o limite dos fors (é n? é m?)
[  ]Tamanho do vetor, será que é 2e5 em vez de 1e5??
[  ]Testar sample
[  ]Testar casos de  borda
[  ]1LL no 1LL << i
[  ]Testar mod (é 1e9+7, mesmo?, será que o mod não ficou negativo?)
*/
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1088 KB Output is correct
2 Correct 1 ms 1108 KB Output is correct
3 Correct 9 ms 1108 KB Output is correct
4 Correct 16 ms 1108 KB Output is correct
5 Correct 136 ms 1108 KB Output is correct
6 Correct 137 ms 1100 KB Output is correct
7 Correct 140 ms 1108 KB Output is correct
8 Correct 141 ms 1100 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1084 KB Output is correct
2 Correct 2 ms 1088 KB Output is correct
3 Correct 8 ms 1072 KB Output is correct
4 Correct 9 ms 1108 KB Output is correct
5 Correct 73 ms 1108 KB Output is correct
6 Correct 65 ms 1108 KB Output is correct
7 Correct 190 ms 1108 KB Output is correct
8 Correct 151 ms 1108 KB Output is correct
9 Incorrect 209 ms 1108 KB Output isn't correct
10 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 4 ms 1088 KB Output is correct
2 Correct 3 ms 1084 KB Output is correct
3 Correct 17 ms 1084 KB Output is correct
4 Correct 13 ms 1016 KB Output is correct
5 Correct 28 ms 1108 KB Output is correct
6 Correct 25 ms 1108 KB Output is correct
7 Correct 46 ms 1104 KB Output is correct
8 Correct 37 ms 1092 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 2 ms 1108 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1108 KB Output is correct
2 Correct 15 ms 1108 KB Output is correct
3 Correct 69 ms 1108 KB Output is correct
4 Correct 141 ms 1100 KB Output is correct
5 Correct 412 ms 1236 KB Output is correct
6 Correct 486 ms 1228 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1088 KB Output is correct
2 Correct 1 ms 1108 KB Output is correct
3 Correct 9 ms 1108 KB Output is correct
4 Correct 16 ms 1108 KB Output is correct
5 Correct 136 ms 1108 KB Output is correct
6 Correct 137 ms 1100 KB Output is correct
7 Correct 140 ms 1108 KB Output is correct
8 Correct 141 ms 1100 KB Output is correct
9 Correct 1 ms 1084 KB Output is correct
10 Correct 2 ms 1088 KB Output is correct
11 Correct 8 ms 1072 KB Output is correct
12 Correct 9 ms 1108 KB Output is correct
13 Correct 73 ms 1108 KB Output is correct
14 Correct 65 ms 1108 KB Output is correct
15 Correct 190 ms 1108 KB Output is correct
16 Correct 151 ms 1108 KB Output is correct
17 Incorrect 209 ms 1108 KB Output isn't correct
18 Halted 0 ms 0 KB -