제출 #1042176

#제출 시각아이디문제언어결과실행 시간메모리
1042176flappybirdSushi (JOI16_sushi)C++17
0 / 100
3573 ms262144 KiB
//#define LOCAL #include <bits/stdc++.h> #include <cassert> #pragma GCC optimize("O3") #pragma GCC optimize("Ofast") #pragma GCC optimize("unroll-loops") #pragma GCC target("avx,avx2,fma") using namespace std; typedef long long ll; typedef pair<ll, ll> pll; typedef pair<int, int> pii; #define MAX 1010101 #define MAXQ 101010 #define INF 1'000'000'100 #define bb ' ' #define ln '\n' #define Ln '\n' #define MOD 1000000007 #define TC 1 #ifdef LOCAL #define DEBUG(a) cout<<a #else #define DEBUG(...) 1234 #endif #define B 3 int A[MAX]; multiset<int> all[MAX]; priority_queue<int, vector<int>, greater<int>> upd[MAX]; int N, Q; void prop(int id) { all[id].clear(); int i; for (i = id * B; i < min(N - 1, (id + 1) * B); i++) { upd[id].emplace(A[i]); A[i] = upd[id].top(); upd[id].pop(); all[id].emplace(A[i]); } } signed main() { ios::sync_with_stdio(false), cin.tie(0); cin >> N >> Q; int i; for (i = 0; i < N; i++) cin >> A[i]; for (i = 0; i < N; i++) all[i / B].insert(A[i]); auto f = [&](int l, int r, int x) { int i; i = l; while (i <= r) { int b = i / B; if ((i % B == 0) && i + B - 1 <= r) { //DEBUG("ii" << i << ln); upd[b].push(x); all[b].insert(x); x = *all[b].rbegin(); all[b].erase(all[b].find(x)); i += B; //DEBUG('x' << x << bb); } else { if (upd[b].size()) prop(b); //DEBUG('i' << i << bb << A[i] << bb << x << ln); if (A[i] > x) { all[b].insert(x); all[b].erase(all[b].find(A[i])); swap(A[i], x); } i++; //DEBUG('y' << x << bb); } } return x; }; while (Q--) { int l, r, x; cin >> l >> r >> x; l--; r--; if (l > r) { x = f(l, N - 1, x); x = f(0, r, x); } else x = f(l, r, x); cout << x << ln; for (i = 0; i < N; i++) DEBUG(A[i] << bb); DEBUG(ln); } }

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

sushi.cpp: In function 'int main()':
sushi.cpp:23:20: warning: statement has no effect [-Wunused-value]
   23 | #define DEBUG(...) 1234
      |                    ^~~~
sushi.cpp:85:27: note: in expansion of macro 'DEBUG'
   85 |   for (i = 0; i < N; i++) DEBUG(A[i] << bb);
      |                           ^~~~~
sushi.cpp:23:20: warning: statement has no effect [-Wunused-value]
   23 | #define DEBUG(...) 1234
      |                    ^~~~
sushi.cpp:86:3: note: in expansion of macro 'DEBUG'
   86 |   DEBUG(ln);
      |   ^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...