結果
問題 | No.318 学学学学学 |
ユーザー |
|
提出日時 | 2016-09-04 19:35:01 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 94 ms / 2,000 ms |
コード長 | 2,045 bytes |
コンパイル時間 | 1,333 ms |
コンパイル使用メモリ | 104,564 KB |
実行使用メモリ | 8,192 KB |
最終ジャッジ日時 | 2024-06-22 17:58:21 |
合計ジャッジ時間 | 3,947 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 |
ソースコード
#include <iostream>#include <queue>#include <map>#include <list>#include <vector>#include <string>#include <stack>#include <limits>#include <cassert>#include <fstream>#include <cstring>#include <cmath>#include <bitset>#include <iomanip>#include <algorithm>#include <functional>#include <cstdio>#include <ciso646>#include <set>using namespace std;#define FOR(i,a,b) for (int i=(a);i<(b);i++)#define RFOR(i,a,b) for (int i=(b)-1;i>=(a);i--)#define REP(i,n) for (int i=0;i<(n);i++)#define RREP(i,n) for (int i=(n)-1;i>=0;i--)#define inf 0x3f3f3f3f#define INF INT_MAX/3#define PB push_back#define MP make_pair#define ALL(a) (a).begin(),(a).end()#define SET(a,c) memset(a,c,sizeof a)#define CLR(a) memset(a,0,sizeof a)#define pii pair<int,int>#define pcc pair<char,char>#define pic pair<int,char>#define pci pair<char,int>#define VS vector<string>#define VI vector<int>#define DEBUG(x) cout<<#x<<": "<<x<<endl#define MIN(a,b) (a>b?b:a)#define MAX(a,b) (a>b?a:b)#define pi 2*acos(0.0)#define INFILE() freopen("in0.txt","r",stdin)#define OUTFILE()freopen("out0.txt","w",stdout)#define ll long long#define ull unsigned long long#define eps 1e-14#define FST first#define SEC second#define SETUP cin.tie(0), ios::sync_with_stdio(false), cout << setprecision(15)struct input_returnner {int N; input_returnner(int N_ = 0) :N(N_) {}template<typename T> operator vector<T>() const { vector<T> res(N); for (auto &a : res) cin >> a; return std::move(res); }template<typename T> operator T() const { T res; cin >> res; return res;}};template<typename T> input_returnner in() { return in<T>(); }input_returnner in() { return input_returnner(); }input_returnner in(int N) { return std::move(input_returnner(N)); }/// ---template---signed main(void) {SETUP;int N = in();vector<int> A = in(N);map<int, int> end;REP(i, N) {end[A[i]] = i;}set<int> st;REP(i, N) {st.insert(A[i]);cout << *st.rbegin() << (i!=N-1?" ":"\n");if(end[A[i]] == i) st.erase(A[i]);}return 0;}