제출 #447309

#제출 시각아이디문제언어결과실행 시간메모리
447309RichardDuyZigZag (COCI17_zigzag)C++14
48 / 80
2091 ms18620 KiB
#include <bits/stdc++.h>

using namespace std;

typedef pair<int,string> ps;

priority_queue<ps, vector<ps>, greater<ps> > pq;

int n,k;

int main()
{
//    freopen("doanchu.inp","r",stdin);
//    freopen("doanchu.out","w",stdout);
    cin >> n >> k;
    for (int i = 1; i <= n; i++){
        string s;
        cin >> s; pq.push({0,s});
    }
    for (int i = 1 ; i <= k ; i++){
        char c;
        cin >> c;
        vector<ps> temp;
        while(!pq.empty()){
            if (pq.top().second[0]!=c) {temp.push_back(pq.top()); pq.pop();}
            else{
                string v = pq.top().second; int u = pq.top().first;
                cout << v << endl;
                pq.pop();
                pq.push({u+1,v});
                for (int i = 0; i < temp.size(); i++) pq.push(temp[i]);
                temp.clear();
                break;
            }
        }
    }
    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

zigzag.cpp: In function 'int main()':
zigzag.cpp:31:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, std::__cxx11::basic_string<char> > >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   31 |                 for (int i = 0; i < temp.size(); i++) pq.push(temp[i]);
      |                                 ~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...