답안 #90654

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
90654 2018-12-23T09:06:42 Z adlet Gift (IZhO18_nicegift) C++17
7 / 100
2000 ms 3784 KB
#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>

#define file(s) if (fopen(s".in", "r")) freopen(s".in", "r", stdin), freopen(s".out", "w", stdout)

using namespace std;

typedef long long ll;

const int N = 2e5 + 5;
const int mod = 1e9 + 7;
const double PI = acos(-1.0);

struct item {
    int x, i, j;
};

vector < item > ans;

pair < int, int > a[N];

int n, k, mx;

ll sum;

int main() {
    cin >> n >> k;
    for (int i = 1; i <= n; ++i) {
        cin >> a[i].first;
        sum += a[i].first;
        mx = max(mx, a[i].first);
        a[i].second = i;
    }
    sort(a + 1, a + n + 1);
    if (sum % k != 0 || mx > sum / k) {
        cout << -1;
        return 0;
    }
    while (sum)
    for (int i = 1; i <= n; ++i) {
        if (!a[i].first)
            continue;
        for (int j = n; j > i; --j) {
            if (!a[i].first)
                break;
            if (!a[j].first)
                continue;
            ans.push_back({1, a[i].second, a[j].second});
            --a[i].first;
            --a[j].first;
            sum -= 2;
        }
    }
    cout << ans.size() << "\n";
    for (auto it : ans) {
        cout << it.x << " " << it.i << " " << it.j << "\n";
    }
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB n=4
2 Correct 2 ms 380 KB n=3
3 Correct 2 ms 456 KB n=3
4 Correct 2 ms 472 KB n=4
5 Correct 2 ms 500 KB n=4
6 Correct 2 ms 512 KB n=2
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB n=4
2 Correct 2 ms 380 KB n=3
3 Correct 2 ms 456 KB n=3
4 Correct 2 ms 472 KB n=4
5 Correct 2 ms 500 KB n=4
6 Correct 2 ms 512 KB n=2
7 Execution timed out 2069 ms 512 KB Time limit exceeded
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB n=4
2 Correct 2 ms 380 KB n=3
3 Correct 2 ms 456 KB n=3
4 Correct 2 ms 472 KB n=4
5 Correct 2 ms 500 KB n=4
6 Correct 2 ms 512 KB n=2
7 Execution timed out 2069 ms 512 KB Time limit exceeded
8 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 6 ms 3784 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB n=4
2 Correct 2 ms 380 KB n=3
3 Correct 2 ms 456 KB n=3
4 Correct 2 ms 472 KB n=4
5 Correct 2 ms 500 KB n=4
6 Correct 2 ms 512 KB n=2
7 Execution timed out 2069 ms 512 KB Time limit exceeded
8 Halted 0 ms 0 KB -