Submission #1155666

#TimeUsernameProblemLanguageResultExecution timeMemory
1155666secretwood01새로운 문제 (POI13_usu)C++17
100 / 100
179 ms41200 KiB
#include <iostream> #include <deque> #include <string> #include <sstream> #include <algorithm> #include <vector> class A { public: std::vector<int> white; int black; static int K; int ind; A(int b) : black(b + 1), ind(0), white(K + 1) {} void add(int x) { white[ind] = x + 1; ind++; } bool isFilled() { return ind >= K; } std::string toString() { white[K] = black; std::sort(white.begin(), white.end()); std::ostringstream oss; for (int i = 0; i < K; i++) { oss << white[i] << " "; } oss << white[K]; return oss.str(); } }; int A::K; int main() { std::ios::sync_with_stdio(false); std::cin.tie(nullptr); std::deque<A> bs, ans; std::deque<int> ws; std::string line; std::getline(std::cin, line); std::istringstream iss(line); int N; iss >> N; iss >> A::K; std::getline(std::cin, line); std::string S = line; for (int i = 0; i < N; i++) { if (S[i] == 'b') { ws.push_back(i); while (!bs.empty() && !ws.empty()) { while (!bs.empty() && !bs.back().isFilled() && !ws.empty()) { bs.back().add(ws.back()); ws.pop_back(); } if (!bs.empty() && bs.back().isFilled()) { ans.push_back(bs.back()); bs.pop_back(); } } } else { bs.push_back(A(i)); while (!bs.empty() && !ws.empty()) { while (!bs.empty() && !bs.back().isFilled() && !ws.empty()) { bs.back().add(ws.back()); ws.pop_back(); } if (!bs.empty() && bs.back().isFilled()) { ans.push_back(bs.back()); bs.pop_back(); } } } } while (!ans.empty()) { std::cout << ans.back().toString() << "\n"; ans.pop_back(); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...