結果
問題 | No.318 学学学学学 |
ユーザー |
![]() |
提出日時 | 2015-12-11 18:51:51 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 190 ms / 2,000 ms |
コード長 | 2,713 bytes |
コンパイル時間 | 794 ms |
コンパイル使用メモリ | 109,044 KB |
実行使用メモリ | 17,920 KB |
最終ジャッジ日時 | 2024-06-22 15:33:27 |
合計ジャッジ時間 | 4,162 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 |
ソースコード
#include <cstdlib>#include <cmath>#include <climits>#include <cfloat>#include <map>#include <set>#include <iostream>#include <string>#include <vector>#include <algorithm>#include <sstream>#include <complex>#include <stack>#include <queue>#include <cstdio>#include <cstring>#include <iterator>#include <bitset>#include <unordered_set>#include <unordered_map>#include <fstream>#include <iomanip>#include <cassert>//#include <utility>//#include <memory>//#include <functional>//#include <deque>//#include <cctype>//#include <ctime>//#include <numeric>//#include <list>//#include <iomanip>//#if __cplusplus >= 201103L//#include <array>//#include <tuple>//#include <initializer_list>//#include <forward_list>////#define cauto const auto&//#else//#endifusing namespace std;typedef long long ll;typedef pair<int,int> pii;typedef pair<ll,ll> pll;typedef vector<int> vint;typedef vector<vector<int> > vvint;typedef vector<long long> vll, vLL;typedef vector<vector<long long> > vvll, vvLL;#define VV(T) vector<vector< T > >template <class T>void initvv(vector<vector<T> > &v, int a, int b, const T &t = T()){v.assign(a, vector<T>(b, t));}template <class F, class T>void convert(const F &f, T &t){stringstream ss;ss << f;ss >> t;}#undef _P#define _P(...) (void)printf(__VA_ARGS__)#define reep(i,a,b) for(int i=(a);i<(b);++i)#define rep(i,n) reep((i),0,(n))#define ALL(v) (v).begin(),(v).end()#define PB push_back#define F first#define S second#define mkp make_pair#define RALL(v) (v).rbegin(),(v).rend()#define DEBUG#ifdef DEBUG#define dump(x) cout << #x << " = " << (x) << endl;#define debug(x) cout << #x << " = " << (x) << " (L" << __LINE__ << ")" << " " << __FILE__ << endl;#else#define dump(x)#define debug(x)#endif#define MOD 1000000007LL#define EPS 1e-8#define INF 0x3f3f3f3f#define INFL 0x3f3f3f3f3f3f3f3fLL#define maxs(x,y) x=max(x,y)#define mins(x,y) x=min(x,y)map<int,int> MAX;map<int,int> MIN;void mainmain(){int n;cin>>n;vint v(n);rep(i,n) cin>>v[i];set<int> se;rep(i,v.size()){int x=v[i];MAX[x]=i;if(se.find(x)==se.end()) MIN[x]=i;se.insert(x);}vint ans(n);set<int> a;rep(i,n){int x=v[i];if(MIN[x]==i){a.insert(x);}auto it=a.lower_bound(INF);it--;ans[i]=*it;if(MAX[x]==i){a.erase(a.find(x));}}rep(i,n){if(i) cout<<" ";cout<<ans[i];}cout<<endl;}signed main() {ios_base::sync_with_stdio(false);cin.tie(0);cout<<fixed<<setprecision(20);mainmain();}