Submission #821902

# Submission time Handle Problem Language Result Execution time Memory
821902 2023-08-11T20:17:25 Z Liudas Salesman (IOI09_salesman) C++17
17 / 100
39 ms 6100 KB
#include <bits/stdc++.h>
using namespace std;
int N, U, D, S;
struct node{
    int pos;
    int pro;
    int day;
    bool operator<(node a){
        if(day == a.day){
            if(U > D){
                return pos < a.pos;
            }
            else{
                return pos > a.pos;
            }
        }
        return day < a.day;
    }
};
int main()
{
    cin >> N >> U >> D >> S;
    vector<node> arr(N+1, {0, 0, 0});
    arr[0].day = -1;
    arr[0].pos = S;
    if(N > 5000){
        return 0;
    }
    for(int i = 1; i <= N; i ++){
        cin >> arr[i].day >> arr[i].pos >> arr[i].pro;
    }
    sort(arr.begin(), arr.end());
    vector<int> DP(N+1);
    for(int i = 1; i <= N; i ++){
        int mx = -1e9;
        for(int j = 0; j < i; j ++){
            mx = max(mx, -(arr[j].pos - arr[i].pos > 0 ? (arr[j].pos - arr[i].pos) * D : -(arr[j].pos - arr[i].pos) * U) + DP[j]);
        }
        DP[i] += mx + arr[i].pro;
    }
    int ans = 0;
    for(int i = 0; i <= N; i ++){
        ans = max(ans, DP[i] - (S - arr[i].pos > 0 ? (S - arr[i].pos) * U : -(S - arr[i].pos) * D));
    }
    cout << ans << endl;
    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 356 KB Output is correct
4 Correct 4 ms 328 KB Output is correct
5 Correct 39 ms 356 KB Output is correct
6 Incorrect 0 ms 468 KB Output isn't correct
7 Incorrect 1 ms 852 KB Output isn't correct
8 Incorrect 1 ms 1364 KB Output isn't correct
9 Incorrect 1 ms 2004 KB Output isn't correct
10 Incorrect 2 ms 3796 KB Output isn't correct
11 Incorrect 2 ms 3796 KB Output isn't correct
12 Incorrect 2 ms 4948 KB Output isn't correct
13 Incorrect 3 ms 4948 KB Output isn't correct
14 Incorrect 3 ms 6100 KB Output isn't correct
15 Incorrect 3 ms 6100 KB Output isn't correct
16 Incorrect 3 ms 6100 KB Output isn't correct
17 Correct 0 ms 212 KB Output is correct
18 Incorrect 1 ms 212 KB Output isn't correct
19 Incorrect 2 ms 212 KB Output isn't correct
20 Incorrect 7 ms 336 KB Output isn't correct
21 Incorrect 7 ms 212 KB Output isn't correct
22 Incorrect 24 ms 372 KB Output isn't correct
23 Incorrect 19 ms 376 KB Output isn't correct
24 Incorrect 30 ms 372 KB Output isn't correct
25 Incorrect 1 ms 1364 KB Output isn't correct
26 Incorrect 1 ms 2644 KB Output isn't correct
27 Incorrect 2 ms 4308 KB Output isn't correct
28 Incorrect 2 ms 4308 KB Output isn't correct
29 Incorrect 3 ms 6100 KB Output isn't correct
30 Incorrect 3 ms 6100 KB Output isn't correct