Submission #930068

#TimeUsernameProblemLanguageResultExecution timeMemory
930068EJIC_B_KEDAXStone Arranging 2 (JOI23_ho_t1)C++17
100 / 100
156 ms17092 KiB
#ifdef LOCAL #define _GLIBCXX_DEBUG #endif #include <bits/stdc++.h> #ifndef LOCAL // #pragma GCC optimize("O3") // #pragma GCC optimize("Ofast") // #pragma GCC optimize("unroll-loops") // #pragma GCC target("avx,avx2,bmi,bmi2,popcnt,lzcnt") #endif using namespace std; using ll = long long; using ld = long double; #define x first #define y second #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() mt19937_64 mt(time(0)); void solve(); void init(); int32_t main() { #ifndef LOCAL cin.tie(nullptr)->sync_with_stdio(false); #endif cout << fixed << setprecision(30); init(); int t = 1; // cin >> t; while (t--) { solve(); } } void init() {} void solve() { int n; cin >> n; vector<int> a(n), b; vector<pair<int, int>> seg; map<int, int> mp; for (int i = 0; i < n; i++) { cin >> a[i]; } for (int i = 0; i < n; i++) { if (mp[a[i]] == 0) { mp[a[i]]++; seg.emplace_back(i, i); b.push_back(a[i]); } else { while (b.back() != a[i]) { mp[b.back()]--; seg.pop_back(); b.pop_back(); } seg.back().y = i; } } for (int i = 0; i < b.size(); i++) { for (int j = seg[i].x; j <= seg[i].y; j++) { cout << b[i] << '\n'; } } }

Compilation message (stderr)

Main.cpp: In function 'void solve()':
Main.cpp:63:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   63 |     for (int i = 0; i < b.size(); i++) {
      |                     ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...