제출 #628492

#제출 시각아이디문제언어결과실행 시간메모리
628492MateGiorbelidze메기 농장 (IOI22_fish)C++17
0 / 100
65 ms25164 KiB
#include "fish.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
 
ll a[3001][3001] , b[3001][3001] , d[3001][3001];
int n , m;
 
long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y,
                      std::vector<int> W) {
    n = N; m = M;
    
    for (int i = 0; i < m; i++) {
    	d[Y[i] + 1][X[i] + 1] = W[i];
	}
	
	for (int j = 1; j <= n; j++) {
		
		a[1][j] = b[1][j - 1] + d[1][j];
				
		for (int i = 2; i <= n; i++) {
			
			a[i][j] = max(a[i - 1][j] , a[i - 1][j - 1]) + d[i][j];
			
		}
		
		if (j == 1 || j == 2) continue;
		
		b[n][j] = a[n][j - 2] +  + d[n][j];
		
		for (int i = n - 1; i > 0; i--) {
			
			b[i][j] = max(a[i + 1][j] , a[i + 1][j - 1]) + d[i][j];
			
		}
		
	}
	
	ll ans = 0;
	
	for (int i = 1; i <= n; i++) {
		for (int j = 1; j <= n; j++) {
			
			ans = max(ans , a[i][j]);
			ans = max(ans , b[i][j]);
			
		}
	}
	
	return ans;
                      	
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...