結果
問題 | No.318 学学学学学 |
ユーザー |
![]() |
提出日時 | 2015-12-11 00:08:08 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 271 ms / 2,000 ms |
コード長 | 1,526 bytes |
コンパイル時間 | 1,046 ms |
コンパイル使用メモリ | 107,240 KB |
実行使用メモリ | 17,664 KB |
最終ジャッジ日時 | 2024-06-22 14:19:11 |
合計ジャッジ時間 | 5,366 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 |
ソースコード
#include <cstdio>#include <cstdlib>#include <cmath>#include <climits>#include <cfloat>#include <map>#include <utility>#include <ctime>#include <set>#include <iostream>#include <memory>#include <string>#include <cstring>#include <vector>#include <algorithm>#include <functional>#include <fstream>#include <sstream>#include <complex>#include <stack>#include <queue>#include <cstring>#include <numeric>#include <cassert>using namespace std;typedef long long ll;#define rep(i,n) for(int i=0;i<n;i++)#define rev(i,n) for(int i=n-1;i>=0;i--)#define all(a) a.begin(),a.end()#define mp(a,b) make_pair(a,b)#define pb(a) push_back(a)#define SS stringstream#define DBG1(a) rep(_X,sz(a)){printf("%d ",a[_X]);}puts("");#define DBG2(a) rep(_X,sz(a)){rep(_Y,sz(a[_X]))printf("%d ",a[_X][_Y]);puts("");}#define bitcount(b) __builtin_popcount(b)#define EACH(i,c) for(typeof((c).begin()) i=(c).begin(); i!=(c).end(); ++i)int main(){int n;cin >> n;map<int,int> mi;map<int,int> mx;for(int i = 0 ; i < n ; i++){int a;cin >> a;if( !mi.count(-a) ){mi[-a] = i;}mx[-a] = i;}set<int> v;for(int i = 0 ; i < n ; i++) v.insert(i);v.insert(1e9);vector<int> res(n,-1);for( auto a : mx ){int x = a.first;int mxx = mx[x];//cout << mi[x] << " " << mx[x] << endl;while(1){auto it = v.lower_bound(mi[x]);if( *it <= mxx ){res[*it] = -x;v.erase(*it);}else{break;}}}for(int i = 0 ; i < n ; i++) cout << res[i] << (i+1==n?"\n":" ");}