답안 #60749

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
60749 2018-07-24T15:57:27 Z alenam0161 Zalmoxis (BOI18_zalmoxis) C++17
35 / 100
388 ms 18800 KB
#include <bits/stdc++.h>
void fl();
using namespace std;
const int N  = 1000000+7;
int a[N];
stack<int> st;
vector<int> ans;
void rem(){
    while(st.size()>=2){
        int z=st.top();
        st.pop();
        if(z==st.top()){
            st.pop();
            st.push(z+1);
        }
        else{
            st.push(z);
            break;
        }
    }
}
int main(){

    int n,k;
    scanf("%d %d",&n,&k);
    for(int i=0;i<n;++i){
        scanf("%d",a+i);
    }
    int s=k;
    st.push(a[0]);
    ans.push_back(a[0]);
    for(int i=1;i<n;++i){
        if(a[i]>=st.top()){
            while(a[i]>st.top()){
                int x=st.top();
                ans.push_back(x);
                st.push(x);
                rem();
                k--;
            }
            ans.push_back(a[i]);
            st.push(a[i]);
            rem();
        }
        else{
            ans.push_back(a[i]);
            st.push(a[i]);
        }
    }
    while(st.size()!=1){
        ans.push_back(st.top());
        st.push(st.top());
        rem();
        k--;
    }
    int z=st.top();
    while(k>0){
        assert(0);
        ans.push_back(z);
        z++;
        k--;
    }
    if(ans.size()!=s+n){
        assert(0);
    }
    for(int i=0;i<ans.size();++i){
        printf("%d ",ans[i]);
    }
    return 0;
}
void fl(){
    freopen("input.txt","r",stdin);
}

Compilation message

zalmoxis.cpp: In function 'int main()':
zalmoxis.cpp:63:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(ans.size()!=s+n){
        ~~~~~~~~~~^~~~~
zalmoxis.cpp:66:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<ans.size();++i){
                 ~^~~~~~~~~~~
zalmoxis.cpp:25:10: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d %d",&n,&k);
     ~~~~~^~~~~~~~~~~~~~~
zalmoxis.cpp:27:14: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%d",a+i);
         ~~~~~^~~~~~~~~~
zalmoxis.cpp: In function 'void fl()':
zalmoxis.cpp:72:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
     freopen("input.txt","r",stdin);
     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 375 ms 10328 KB Output is correct
2 Correct 303 ms 10384 KB Output is correct
3 Correct 234 ms 10412 KB Output is correct
4 Correct 230 ms 10412 KB Output is correct
5 Correct 388 ms 10548 KB Output is correct
6 Correct 331 ms 10548 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Runtime error 202 ms 16668 KB Execution killed with signal 11 (could be triggered by violating memory limits)
2 Correct 354 ms 18800 KB Output is correct
3 Runtime error 153 ms 18800 KB Execution killed with signal 11 (could be triggered by violating memory limits)
4 Runtime error 152 ms 18800 KB Execution killed with signal 11 (could be triggered by violating memory limits)
5 Runtime error 172 ms 18800 KB Execution killed with signal 11 (could be triggered by violating memory limits)
6 Runtime error 216 ms 18800 KB Execution killed with signal 11 (could be triggered by violating memory limits)
7 Runtime error 170 ms 18800 KB Execution killed with signal 11 (could be triggered by violating memory limits)
8 Runtime error 219 ms 18800 KB Execution killed with signal 11 (could be triggered by violating memory limits)
9 Runtime error 173 ms 18800 KB Execution killed with signal 11 (could be triggered by violating memory limits)
10 Runtime error 61 ms 18800 KB Execution killed with signal 11 (could be triggered by violating memory limits)
11 Runtime error 83 ms 18800 KB Execution killed with signal 11 (could be triggered by violating memory limits)
12 Runtime error 4 ms 18800 KB Execution killed with signal 11 (could be triggered by violating memory limits)
13 Runtime error 4 ms 18800 KB Execution killed with signal 11 (could be triggered by violating memory limits)
14 Runtime error 3 ms 18800 KB Execution killed with signal 11 (could be triggered by violating memory limits)