Submission #829315

# Submission time Handle Problem Language Result Execution time Memory
829315 2023-08-18T08:59:23 Z QwertyPi Uplifting Excursion (BOI22_vault) C++14
0 / 100
3 ms 8532 KB
#include <bits/stdc++.h>
#pragma GCC optimize("unroll-loops")
#pragma GCC optimize("Ofast")
#define int long long

using namespace std;

const int M = 300 + 11;
const int X = M * M;
const int INF = 1LL << 60;
int a[M * 2];
int s[M * 2];
int dp[M * 2][X];

int32_t main(){
	int m, L; cin >> m >> L;
	for(int i = 0; i <= m * 2; i++) cin >> a[i];
	
	int ans = a[m];
	for(int i = m + 1; i <= m * 2; i++) s[i] = min(L, s[i - 1] + (i - m) * a[i]);

	for(int i = m; i <= m * 2; i++)
		fill(dp[i], dp[i] + X, -INF);
	dp[m][0] = 0;
	for(int i = m + 1; i <= m * 2; i++){
		for(int j = 0; j < m * m; j++){
			for(int k = 0; k < m * m; k++){
				int vj = s[i - 1] - j, vk = s[i] - k;
				if(vj > vk || (vk - vj) % (i - m) != 0 || (vk - vj) / (i - m) > a[i]) continue;
				dp[i][k] = max(dp[i][k], dp[i - 1][j] + (vk - vj) / (i - m));
			}
		}
	}
	if(s[m * 2] < L || L < 0){
		cout << "impossible" << endl;
		return 0;
	}
	if(dp[m * 2][0] < 0){
		cout << "impossible" << endl;
	}else{
		cout << dp[m * 2][0] << endl;
	}
}

Compilation message

vault.cpp: In function 'int32_t main()':
vault.cpp:19:6: warning: unused variable 'ans' [-Wunused-variable]
   19 |  int ans = a[m];
      |      ^~~
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 2516 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 2516 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 8532 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 8532 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 8532 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 2516 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 8532 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 2516 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 3 ms 8532 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 2516 KB Output isn't correct
2 Halted 0 ms 0 KB -