제출 #1187945

#제출 시각아이디문제언어결과실행 시간메모리
1187945yhx3Stone Arranging 2 (JOI23_ho_t1)C++20
컴파일 에러
0 ms0 KiB
#include <iostream> #include <bits/stdc++.h> #include <iomanip> #include <numeric> using namespace std; #define ll long long bool comp(const pair<ll,ll> &a,pair<ll,ll> &vl) { return a.second > vl.first; } bool scomp(const pair<ll,ll> &a,pair<ll,ll> &vl) { return a.first >= vl.first; } void solve() { ll n; cin >> n; vector<ll> a(n); ll mx = 0; for (ll i = 0; i < n; i++) { cin >> a[i]; mx = max(mx,a[i]); } vector<ll> ans(n); if (mx <= 2) { if (a[0] == 1) { bool ok = false; for (ll i = n - 1; i >= 0; i--) { if (ok) { ans[i] = 1; continue; } if (a[i] == 1){ ans[i] = 1; ok = true; } else { ans[i] = 2; } } } else { bool ok = false; for (ll i = n - 1; i >= 0; i--) { if (ok) { ans[i] = 2; continue; } if (a[i] == 2){ ans[i] = 2; ok = true; } else { ans[i] = 1; } } } } else { map<ll,ll> mp; for (ll i = 0; i < n; i++) { if (mp.find(a[i]) != mp.end()) { for (ll j = i - 1; j > mp[a[i]]; j--) { mp.erase(a[j]); ans[j] = a[i]; } for (ll j = 0; j < mp[a[i]]; j++) { mp[a[j]] = j; } } mp[a[i]] = i; ans[i] = a[i]; } } for (ll i = 0; i < n; i++) { cout << ans[i] << endl; } } ll main() { ll t = 1; // cin>>t; while(t--) { solve(); } return 0; }

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

cc1plus: error: '::main' must return 'int'