# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
607552 | 2022-07-26T20:02:54 Z | chonka | Zalmoxis (BOI18_zalmoxis) | C++ | 156 ms | 14296 KB |
#include<bits/stdc++.h> using namespace std ; typedef long long ll ; const int MAXN = 1000007 ; int n , k ; int a[ MAXN ] ; stack < int > s ; vector < pair < int , int > > v ; void solve ( ) { cin >> n >> k ; for ( int i = 1 ; i <= n ; ++ i ) { cin >> a[ i ] ; } int tp = 0 ; for ( int i = 1 ; i <= n ; ++ i ) { int x = a[ i ] ; while ( s.empty ( ) == false && s.top ( ) < x ) { int y = s.top ( ) ; -- k ; v.push_back ( { y , 1 } ) ; while ( s.empty ( ) == false && s.top ( ) == y ) { s.pop ( ) ; ++ y ; } s.push ( y ) ; } v.push_back ( { x , 0 } ) ; while ( s.empty ( ) == false && s.top ( ) == x ) { ++ x ; s.pop ( ) ; } s.push ( x ) ; } while ( s.empty ( ) == false && s.top ( ) < 30 ) { int y = s.top ( ) ; -- k ; v.push_back ( { y , 1 } ) ; while ( s.empty ( ) == false && s.top ( ) == y ) { s.pop ( ) ; ++ y ; } s.push ( y ) ; } for ( auto [ x , type ] : v ) { if ( type == 0 ) { cout << x << " " ; } else { while ( s.empty ( ) == false ) { s.pop ( ) ; } s.push ( x ) ; while ( k > 0 && s.empty ( ) == false ) { int hh = s.top ( ) ; s.pop ( ) ; if ( hh == 0 ) { cout << "0 " ; } else { -- k ; s.push ( hh - 1 ) ; s.push ( hh - 1 ) ; } } while ( s.empty ( ) == false ) { cout << s.top ( ) << " " ; s.pop ( ) ; } } } cout << "\n" ; } int main ( ) { ios_base :: sync_with_stdio ( false ) ; cin.tie ( NULL ) ; int t = 1 ; // cin >> t ; while ( t -- ) { solve ( ) ; } return 0 ; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 128 ms | 14276 KB | Output is correct |
2 | Correct | 156 ms | 14252 KB | Output is correct |
3 | Correct | 135 ms | 14296 KB | Output is correct |
4 | Correct | 126 ms | 14176 KB | Output is correct |
5 | Correct | 129 ms | 14252 KB | Output is correct |
6 | Correct | 126 ms | 14252 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 128 ms | 14256 KB | Output is correct |
2 | Correct | 132 ms | 14252 KB | Output is correct |
3 | Correct | 134 ms | 14180 KB | Output is correct |
4 | Correct | 127 ms | 14256 KB | Output is correct |
5 | Correct | 126 ms | 14244 KB | Output is correct |
6 | Correct | 122 ms | 14280 KB | Output is correct |
7 | Correct | 126 ms | 14296 KB | Output is correct |
8 | Correct | 122 ms | 14280 KB | Output is correct |
9 | Correct | 144 ms | 12980 KB | Output is correct |
10 | Correct | 81 ms | 6972 KB | Output is correct |
11 | Correct | 106 ms | 10568 KB | Output is correct |
12 | Correct | 41 ms | 2256 KB | Output is correct |
13 | Correct | 38 ms | 2252 KB | Output is correct |
14 | Correct | 37 ms | 2204 KB | Output is correct |