Submission #147495

# Submission time Handle Problem Language Result Execution time Memory
147495 2019-08-29T18:55:54 Z dolphingarlic Take-out (POI13_usu) C++14
100 / 100
221 ms 39052 KB
#include <bits/stdc++.h>
#pragma GCC Optimize("O3")
#define FOR(i, x, y) for (int i = x; i < y; i++)
#define MOD 1000000007
typedef long long ll;
using namespace std;

string s;
int c = 0;
vector<int> space = {0}, available;
vector<vector<int>> sol;

int main() {
    iostream::sync_with_stdio(false);
    cin.tie(0);
    int n, k;
    cin >> n >> k >> s;

    FOR(i, 0, n) {
        available.push_back(i);
        if (s[i] == 'c') {
            space.push_back(0);
            c++;
        } else space[c]++;

        if (c && space[c] + space[c - 1] >= k) {
            sol.push_back({});
            FOR(j, 0, k + 1) {
                sol.back().push_back(available.back());
                available.pop_back();
            }

            int diff = space[c--];
            space.pop_back();
            space[c] -= (k - diff);
        }
    }

    reverse(sol.begin(), sol.end());

    for (vector<int> i : sol) {
        reverse(i.begin(), i.end());
        for (int j : i) cout << j + 1 << ' ';
        cout << '\n';
    }
    return 0;
}

Compilation message

usu.cpp:2:0: warning: ignoring #pragma GCC Optimize [-Wunknown-pragmas]
 #pragma GCC Optimize("O3")
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
3 Correct 2 ms 376 KB Output is correct
4 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Correct 2 ms 376 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 4 ms 504 KB Output is correct
2 Correct 3 ms 504 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 22 ms 2992 KB Output is correct
2 Correct 13 ms 1968 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 30 ms 4352 KB Output is correct
2 Correct 31 ms 4488 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 59 ms 8452 KB Output is correct
2 Correct 34 ms 4868 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 84 ms 12180 KB Output is correct
2 Correct 87 ms 11792 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 221 ms 39052 KB Output is correct
2 Correct 117 ms 21216 KB Output is correct
3 Correct 110 ms 15756 KB Output is correct
4 Correct 117 ms 15660 KB Output is correct