Submission #198965

# Submission time Handle Problem Language Result Execution time Memory
198965 2020-01-28T12:35:24 Z smjleo Pod starim krovovima (COCI20_psk) C++14
50 / 50
7 ms 376 KB
#pragma region cp-helper
#include <bits/stdc++.h>
using namespace std;
#define AC ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0)
#define ll long long
#define ull unsigned long long
#define ii pair<int, int>
#define lll pair<ll, ll>
#define vi vector<int>
#define vvi vector<vi>
#define vl vector<ll>
#define vll vector<lll>
#define vvl vector<vl>
#define vii vector<ii>
#define all(a) a.begin(), a.end()
#define qsort(a) sort(all(a))
#define qsortd(a) sort(all(a), greater<>())
#define qsortf(a, f) sort(all(a), f)
#define pb(n) push_back(n)
#define eb(n) emplace_back(n)
#define pp(a, b) emplace_back(a, b)
#define umap unordered_map
#define uset unordered_set
#define nl '\n'
#define fileio(in, out) freopen(in, "r", stdin); freopen(out, "w", stdout)
#define qmod %mod
#define pls int
#define give main()
const int mod = 1000000007;
#pragma endregion
const int N = 1005;

int n, ans;
pair<int, ii> arr[N];

pls give {
    AC;
    cin >> n;
    for (int i=0; i<n; i++) {
        cin >> arr[i].first >> arr[i].second.first;
        arr[i].second.second = i;
    }
    sort(arr, arr+n, [](pair<int, ii> a, pair<int, ii> b) {
        return a.second.first > b.second.first;
    });

    for (int i=1; i<n; i++) {
        for (int j=0; j<i; j++) {
            int avail = arr[j].second.first - arr[j].first;
            if (avail >= arr[i].first) {
                arr[j].first += arr[i].first;
                arr[i].first = 0;
            } else {
                arr[j].first = arr[j].second.first;
                arr[i].first -= avail;
            }
        }
    }
    sort(arr, arr+n, [](pair<int, ii> a, pair<int, ii> b) {
        return a.second.second < b.second.second;
    });
    for (int i=0; i<n; i++) if (!arr[i].first) ans++;
    cout << ans << nl;
    for (int i=0; i<n; i++) cout << arr[i].first << ' ';
}

Compilation message

psk.cpp:1:0: warning: ignoring #pragma region cp [-Wunknown-pragmas]
 #pragma region cp-helper
 
psk.cpp:30:0: warning: ignoring #pragma endregion  [-Wunknown-pragmas]
 #pragma endregion
# Verdict Execution time Memory Grader output
1 Correct 5 ms 376 KB Output is correct
2 Correct 6 ms 376 KB Output is correct
3 Correct 5 ms 376 KB Output is correct
4 Correct 5 ms 376 KB Output is correct
5 Correct 5 ms 376 KB Output is correct
6 Correct 5 ms 376 KB Output is correct
7 Correct 5 ms 248 KB Output is correct
8 Correct 7 ms 376 KB Output is correct
9 Correct 6 ms 376 KB Output is correct
10 Correct 7 ms 376 KB Output is correct