Submission #736885

# Submission time Handle Problem Language Result Execution time Memory
736885 2023-05-06T10:09:35 Z minhcool Catfish Farm (IOI22_fish) C++17
0 / 100
943 ms 155832 KB
#include<bits/stdc++.h>
using namespace std;

//#define int long long
#define fi first
#define se second
#define pb push_back
#define mp make_pair

typedef pair<int, int> ii;
typedef pair<ii, int> iii;
typedef pair<ii, ii> iiii;

const int N = 3e3 + 5;

const int oo = 1e18 + 7, mod = 1e9 + 7;

int n, m;

long long val[N][N], pref[N][N];

// dp[row_i][row_j][i - 1 > or <=]
long long dp[N][N][2];

long long max_weights(int _n, int _m, vector<int> _x, vector<int> _y, vector<int> _w){
	n = _n, m = _m;
	for(int i = 0; i < m; i++){
		val[_x[i] + 1][_y[i] + 1] += _w[i];
	}
	for(int i = 1; i <= n; i++){
		for(int j = 1; j <= n; j++) pref[i][j] = pref[i][j - 1] + val[i][j];
	}
	for(int i = 0; i <= n; i++){
		for(int j = 0; j <= n; j++){
			dp[i][j][0] = dp[i][j][1] = -oo;
		}
	}
	//dp[0][0][0] = 0;
	for(int i = 1; i <= n; i++){
		dp[2][i][0] = pref[1][i];// 0 -> <=
		dp[2][i][1] = 0;
	}
	for(int i = 3; i <= n + 1; i++){
		// calculate (i - 1)
		for(int lst = 0; lst <= n; lst++){
			// 0 - 0
			for(int nxt = lst; nxt <= n; nxt++){
				dp[i][nxt][0] = max(dp[i][nxt][0], dp[i - 1][lst][0] + (pref[i - 1][nxt] - pref[i - 1][lst]));
			}
			// 1 - 1
			for(int nxt = lst - 1; nxt >= 0; nxt--){
				dp[i][nxt][1] = max(dp[i][nxt][1], dp[i - 1][lst][1]);	
			}
			// 0 - 1
			if(lst == n){
				for(int nxt = 0; nxt < n; nxt++) dp[i][nxt][1] = max(dp[i][nxt][1], dp[i - 1][n][0]);
			}
			// 1 - 0
			if(!lst){
				dp[i][0][0] = max(dp[i][0][0], dp[i - 1][0][1]);
				for(int nxt = 1; nxt <= n; nxt++) dp[i][nxt][0] = max(dp[i][nxt][0], dp[i - 1][0][0] + pref[i - 1][nxt]);
			}
		}
	}
	return max(dp[n + 1][0][0], dp[n + 1][0][1]);
}

/*
void process(){
	int n, m;
	vector<int> a, b, c;
	cin >> n >> m;
	for(int i = 1; i <= m; i++){
		int x, y, z;
		cin >> x >> y >> z;
		a.pb(x), b.pb(y), c.pb(z);
	}
	cout << max_weights(n, m, a, b, c) << "\n";
}
 
signed main(){
	ios_base::sync_with_stdio(0);
	//freopen("fish.inp", "r", stdin);
	//freopen("fish.out", "w", stdout);
	//cout << "OK\n";
	//return 0;
	process();
}
*/

Compilation message

fish.cpp:16:21: warning: overflow in conversion from 'double' to 'int' changes value from '1.0e+18' to '2147483647' [-Woverflow]
   16 | const int oo = 1e18 + 7, mod = 1e9 + 7;
      |                ~~~~~^~~
# Verdict Execution time Memory Grader output
1 Runtime error 840 ms 150484 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 308 KB Output is correct
2 Runtime error 882 ms 155832 KB Execution killed with signal 11
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 943 ms 143784 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Incorrect 0 ms 340 KB 1st lines differ - on the 1st token, expected: '4044', found: '2022'
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Incorrect 0 ms 340 KB 1st lines differ - on the 1st token, expected: '4044', found: '2022'
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 1 ms 340 KB Output is correct
2 Correct 1 ms 340 KB Output is correct
3 Incorrect 0 ms 340 KB 1st lines differ - on the 1st token, expected: '4044', found: '2022'
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 943 ms 143784 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 840 ms 150484 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -