제출 #1352084

#제출 시각아이디문제언어결과실행 시간메모리
1352084luvwinterStone Arranging 2 (JOI23_ho_t1)C++20
0 / 100
0 ms344 KiB
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define pii pair<int , int>
#define FOR(i , l , r) for(int i = (l) ; i <= (r) ; i++)
#define FOD(i , r , l) for(int i = (r) ; i >= (l) ; i--)
#define fi first
#define se second
#define faster ios_base :: sync_with_stdio(false); cin.tie(NULL);
const int N = 2e5 + 5;
map<int , int> last;
int a[N];
int n;
int st[4 * N];
int lazy[4 * N];
void down(int id) {
     int v = lazy[id];
     if(v == 0) return;
     st[2 * id] = v;
     st[2 * id + 1] = v;
     lazy[2 * id] = v;
     lazy[2 * id + 1] = v;
     lazy[id] = 0;
     return;
}

void update(int id , int l , int r , int u , int v , int val) {
     if(l > v || r < u) return;
     if(u <= l  && r <= v) {
        st[id] = val;
        lazy[id] = val;
        return;
     }
     down(id);
     int mid = (l + r) / 2;
     update(2 * id ,l , mid , u , v , val);
     update(2 * id + 1 , mid + 1 , r , u , v , val);
}

int get(int id , int l , int r , int pos) {
     if(l == r) {
        return st[id];
     }
     int mid = (l + r) / 2;
     down(id);
     if(mid >= pos) return get(2 * id , l , mid , pos);
     else return get(2 * id + 1 , mid + 1 , r , pos);
}



void solve (void) {
     cin >> n;
     FOR(i , 1 , n) cin >> a[i];
     FOD(i , n , 1 ) {
         if(last[a[i]] == 0) {
             last[a[i]] = i;
             continue;
         }
         else{
             int pos = last[a[i]];
             update(1 , 1 , n , i , pos, a[i]);
             last[a[i]] = i;
         }
     }

     FOR(i , 1 , n) {
        cout << get(1 , 1 , n , i) << endl;
     }

}

main() {
    faster;
    solve();


    return 0;

}

컴파일 시 표준 에러 (stderr) 메시지

Main.cpp:73:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   73 | main() {
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...