답안 #341938

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
341938 2020-12-31T15:40:44 Z phathnv Hokej (COCI17_hokej) C++11
60 / 120
140 ms 11264 KB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

const int mxN = 500001;

struct data{
    int q, e, ind;
};

int m, n;
data a[mxN];

void ReadInput(){
    cin >> m >> n;
    for(int i = 1; i <= n; i++){
        cin >> a[i].q >> a[i].e;
        a[i].ind = i;
    }
}

void Solve(){
    sort(a + 1, a + 1 + n, [](const data &a, const data &b){
            return a.q > b.q;
         });
    vector <int> start(6, 0);
    vector <pair<int, pair<int, int>>> answer;
    ll res = 0;
    int ptr = 1;
    for(int i = 0; i < 6; i++){
        start[i] = a[ptr].ind;
        res += a[ptr].q * a[ptr].e;
        int curTime = a[ptr].e;
        a[ptr].e = 0;
        ptr++;
        while (curTime < m){
            int x = min(m - curTime, a[ptr].e);
            answer.push_back({curTime, {a[ptr - 1].ind, a[ptr].ind}});
            res += a[ptr].q * x;
            curTime += x;
            a[ptr].e -= x;
            if (a[ptr].e == 0)
                ptr++;
        }
    }

    cout << res << '\n';
    for(int i = 0; i < 6; i++)
        cout << start[i] << ' ';
    cout << '\n';
    sort(answer.begin(), answer.end());
    cout << answer.size() << '\n';
    for(auto p : answer)
        cout << p.first << ' ' << p.second.first << ' ' << p.second.second << '\n';
}

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    ReadInput();
    Solve();
    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 3 ms 492 KB Output is correct
3 Failed 7 ms 1004 KB the answer doesn't match with the value Z
4 Correct 1 ms 364 KB Output is correct
5 Correct 3 ms 620 KB Output is correct
6 Correct 2 ms 512 KB Output is correct
7 Incorrect 3 ms 492 KB Output isn't correct
8 Incorrect 25 ms 2540 KB Output isn't correct
9 Incorrect 136 ms 11244 KB Output isn't correct
10 Incorrect 140 ms 11264 KB Output isn't correct