답안 #1079253

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1079253 2024-08-28T12:21:44 Z farica 메기 농장 (IOI22_fish) C++17
0 / 100
908 ms 2097152 KB
#include "fish.h"

#include <bits/stdc++.h>

using namespace std;

long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y,
                      std::vector<int> W) {
    
    vector<vector<long long>>dp(N+1, vector<long long>(N+1, 0));
    vector<vector<pair<long long,long long>>>v(N);
    for(int i=0; i<M; ++i) {
        v[X[i]].push_back({Y[i], W[i]});
    }
    for(int i=0; i<N; ++i) sort(v[i].begin(), v[i].end());
    for(int i=1; i<=N; ++i) {
        if(i >= 2) dp[i][0] = dp[i-2][N];
        long long cnt1 = 0, cnt2 = 0, sum = 0, prev = 0;
        for(int j=1; j<=N; ++j) {
            dp[i][j] = max(dp[i][j-1], dp[i-1][j]);
            if(i != N && !v[i].empty() && cnt2 != (int)v[i].size() && v[i][cnt2].first == j - 1) {
                sum += v[i][cnt2].second;
                ++cnt2; 
            }
            if(i >= 2 && !v[i-2].empty() && cnt1 != (int)v[i-2].size() && v[i-2][cnt1].first == j - 1) {
                prev += v[i-2][cnt1].second;
                prev = max(prev, dp[i-1][j-1] + v[i-2][cnt1].second);
                ++cnt1;
            } 
            dp[i][j] = max(dp[i][j], prev + sum);
        }
    }
    
    return dp[N][N];
}
# 결과 실행 시간 메모리 Grader output
1 Runtime error 838 ms 2097152 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Runtime error 881 ms 2097152 KB Execution killed with signal 9
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 908 ms 2097152 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 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 428 KB Output is correct
5 Incorrect 0 ms 348 KB 1st lines differ - on the 1st token, expected: '8866', found: '16621'
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 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 428 KB Output is correct
5 Incorrect 0 ms 348 KB 1st lines differ - on the 1st token, expected: '8866', found: '16621'
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 348 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 428 KB Output is correct
5 Incorrect 0 ms 348 KB 1st lines differ - on the 1st token, expected: '8866', found: '16621'
6 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 908 ms 2097152 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 838 ms 2097152 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -