답안 #1080959

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1080959 2024-08-29T16:18:35 Z allin27x 메기 농장 (IOI22_fish) C++17
0 / 100
1000 ms 54584 KB
#include <bits/stdc++.h>
using namespace std;
#define int long long

const int N= 305;
int dp[N][N][N];
int sfm[N];
int fs[N][9];

long long max_weights(signed n, signed m, std::vector<signed> x, std::vector<signed> y, std::vector<signed> w){
	for (int i=0; i<m; i++) fs[x[i]][y[i]] = w[i];

	for (int h0=0; h0<=n; h0++) {
		for (int h1=0; h1<=n; h1++) {
			if (h0 < h1) {
				for (int r = h0; r<h1; r++) dp[1][h0][h1] += fs[0][r];
			}
			if (h0 > h1) {
				for (int r = h1; r< h0; r++) dp[1][h0][h1] += fs[1][r];
			}
		}
	}

	for (int i=2; i<n; i++) {
		for (int h0=0; h0<=n; h0++) {
			int mx = 0; for (int t=0;  t<=h0; t++) mx = max(mx, dp[i-1][t][h0]);
			sfm[n] = dp[i-1][n][h0]; for (int j=n-1; j>=0; j--) sfm[j] = max(sfm[j+1], dp[i-1][j][h0]);
			int s = 0; for (int h=0; h<h0; h++) s += fs[i][h]; int s1 = 0;
			for (int h=0;  h<=h0; h++) {
				dp[i][h0][h] = max(dp[i][h0][h], s - s1 + sfm[0]); s1 += fs[i][h];
			}
			for (int h = h0 + 1; h <= n; h++) {
				mx = max(mx  + fs[i-1][h-1],  dp[i-1][h][h0]);
				int r = max(mx, sfm[h]);
				dp[i][h0][h] = max(dp[i][h0][h], r);
			}

		}
	}
	// for (int i=0; i<=n; i++) {
	// 	for (int j=0; j<=n; j++) {
	// 		cout<<i<<' '<<j<<' '<<dp[4][i][j]<<'\n';
	// 	}
	// }
	int ans = 0;
	for (int h0=0; h0<=n; h0++) {
		for (int h1=0; h1<=n; h1++) {
			ans = max(ans, dp[n-1][h0][h1]);
		}
	}
	return ans;
}

# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1061 ms 5012 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Execution timed out 1065 ms 8336 KB Time limit exceeded
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1040 ms 848 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 604 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 344 KB Output is correct
9 Incorrect 41 ms 54584 KB 1st lines differ - on the 1st token, expected: '216624184325', found: '3345547246916'
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 604 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 344 KB Output is correct
9 Incorrect 41 ms 54584 KB 1st lines differ - on the 1st token, expected: '216624184325', found: '3345547246916'
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 KB Output is correct
2 Correct 0 ms 604 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 0 ms 348 KB Output is correct
5 Correct 0 ms 348 KB Output is correct
6 Correct 0 ms 348 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 0 ms 344 KB Output is correct
9 Incorrect 41 ms 54584 KB 1st lines differ - on the 1st token, expected: '216624184325', found: '3345547246916'
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1040 ms 848 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 1061 ms 5012 KB Time limit exceeded
2 Halted 0 ms 0 KB -