답안 #1022790

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1022790 2024-07-14T05:19:42 Z vjudge1 메기 농장 (IOI22_fish) C++17
29 / 100
242 ms 107860 KB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

const int maxn = 1e5 + 100;
const int maxl = 11;
int n;
ll dp[maxn][maxl][maxl];
ll a[maxn][maxl];
ll pref[2][maxn];

long long max_weights(int N, int M, vector<int> X, vector<int> Y, vector<int> W){
    n = N;
    if(*max_element(X.begin(), X.end()) <= 1 && n > 2){
        for(int i = 0; i < M; i++){
            Y[i]++;
            pref[X[i]][Y[i]] += W[i];
        }
        for(int i = 1; i <= n; i++){
            pref[0][i] += pref[0][i-1];
        }
        for(int i = n; i > 0; i--){
            pref[1][i] += pref[1][i+1];
        }
        ll ans = 0;
        for(int i = 0; i <= n; i++){
            ans = max(ans, pref[0][i] + pref[1][i+1]);
        }
        return ans;
    }
    bool ok = 0;
    ll sum[2] = {0, 0};
    for(int i = 0; i < M; i++){
        X[i]++; Y[i]++;
        if(Y[i] <= 11){
            a[X[i]][Y[i]] += W[i];
        } else{
            ok = 1;
            sum[X[i] & 1] += W[i];
        }
    }
    if(ok) return max(sum[0], sum[1]);
    for(int i = 1; i <= n; i++){
        for(int j = 1; j <= 10; j++){
            a[i][j] += a[i][j-1];
        }
    }
    for(int c = 1; c <= n + 1; c++){
        for(int i = 0; i <= 10; i++){
            for(int j = 0; j <= 10; j++){
                dp[c][i][j] = -(ll)1e18;
                if(c == 1 && i == 0) dp[c][i][j] = 0;
            }
        }
    }
    for(int c = 2; c <= n + 1; c++){
        for(int i = 0; i <= 10; i++){
            for(int j = 0; j <= 10; j++){
                for(int k = 0; k <= 10; k++){
                    ll x = dp[c-1][i][j];
                    if(max(i, k) > j){
                        x += a[c-1][max(i, k)] - a[c-1][j];
                    }
                    dp[c][j][k] = max(dp[c][j][k], x);
                }
            }
        }
    }
    ll ans = 0;
    for(int i = 0; i <= 10; i++){
        ans = max(ans, dp[n+1][i][0]);
    }
    return ans;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 15 ms 4952 KB Output is correct
2 Correct 20 ms 5724 KB Output is correct
3 Correct 1 ms 1884 KB Output is correct
4 Correct 1 ms 1884 KB Output is correct
5 Incorrect 59 ms 12572 KB 1st lines differ - on the 1st token, expected: '149814460735479', found: '149797314018914'
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 33 ms 7912 KB Output is correct
3 Correct 42 ms 10064 KB Output is correct
4 Correct 15 ms 4948 KB Output is correct
5 Correct 20 ms 6228 KB Output is correct
6 Correct 1 ms 348 KB Output is correct
7 Correct 1 ms 348 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 0 ms 348 KB Output is correct
10 Correct 1 ms 1976 KB Output is correct
11 Correct 1 ms 1880 KB Output is correct
12 Correct 17 ms 4948 KB Output is correct
13 Correct 19 ms 5972 KB Output is correct
14 Correct 17 ms 4956 KB Output is correct
15 Correct 18 ms 5724 KB Output is correct
16 Correct 16 ms 5108 KB Output is correct
17 Correct 18 ms 5468 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 1884 KB Output is correct
2 Correct 220 ms 103752 KB Output is correct
3 Correct 197 ms 95568 KB Output is correct
4 Correct 222 ms 105148 KB Output is correct
5 Correct 242 ms 107860 KB Output is correct
6 Correct 226 ms 106836 KB Output is correct
7 Correct 225 ms 107600 KB Output is correct
8 Correct 229 ms 107488 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 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 344 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 1 ms 604 KB Output is correct
10 Correct 1 ms 860 KB Output is correct
11 Correct 1 ms 604 KB Output is correct
12 Correct 1 ms 604 KB Output is correct
13 Correct 1 ms 348 KB Output is correct
14 Correct 1 ms 604 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 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 344 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 1 ms 604 KB Output is correct
10 Correct 1 ms 860 KB Output is correct
11 Correct 1 ms 604 KB Output is correct
12 Correct 1 ms 604 KB Output is correct
13 Correct 1 ms 348 KB Output is correct
14 Correct 1 ms 604 KB Output is correct
15 Incorrect 1 ms 344 KB 1st lines differ - on the 1st token, expected: '299', found: '144'
16 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Correct 0 ms 348 KB Output is correct
4 Correct 1 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 344 KB Output is correct
8 Correct 0 ms 348 KB Output is correct
9 Correct 1 ms 604 KB Output is correct
10 Correct 1 ms 860 KB Output is correct
11 Correct 1 ms 604 KB Output is correct
12 Correct 1 ms 604 KB Output is correct
13 Correct 1 ms 348 KB Output is correct
14 Correct 1 ms 604 KB Output is correct
15 Incorrect 1 ms 344 KB 1st lines differ - on the 1st token, expected: '299', found: '144'
16 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 1884 KB Output is correct
2 Correct 220 ms 103752 KB Output is correct
3 Correct 197 ms 95568 KB Output is correct
4 Correct 222 ms 105148 KB Output is correct
5 Correct 242 ms 107860 KB Output is correct
6 Correct 226 ms 106836 KB Output is correct
7 Correct 225 ms 107600 KB Output is correct
8 Correct 229 ms 107488 KB Output is correct
9 Incorrect 16 ms 3928 KB 1st lines differ - on the 1st token, expected: '99999', found: '49994'
10 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 15 ms 4952 KB Output is correct
2 Correct 20 ms 5724 KB Output is correct
3 Correct 1 ms 1884 KB Output is correct
4 Correct 1 ms 1884 KB Output is correct
5 Incorrect 59 ms 12572 KB 1st lines differ - on the 1st token, expected: '149814460735479', found: '149797314018914'
6 Halted 0 ms 0 KB -