답안 #391915

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
391915 2021-04-20T07:11:57 Z Kevin_Zhang_TW 케이크 (CEOI14_cake) C++17
15 / 100
2000 ms 1660 KB
#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
using namespace std;
using ll = long long;
#define pb emplace_back
#define AI(i) begin(i), end(i)
template<class T> bool chmin(T &a, T b) { return b < a && (a = b, true); }
template<class T> bool chmax(T &a, T b) { return a < b && (a = b, true); }
#ifdef KEV
#define DE(args...) kout("[ " + string(#args) + " ] = ", args)
void kout() { cerr << endl; }
template<class T, class ...U> void kout(T a, U ...b) { cerr << a << ' ', kout(b...); }
template<class T> void debug(T l, T r) { while (l != r) cerr << *l << " \n"[next(l)==r], ++l; }
#else
#define DE(...) 0
#define debug(...) 0
#endif
 
const int MAX_N = 300010, inf = 1e9;
int n, sep;
 
int val[MAX_N];
 
int32_t main() {
	ios_base::sync_with_stdio(0), cin.tie(0);
	cin >> n >> sep;
	for (int i = 1;i <= n;++i)
		cin >> val[i];
 
	int q;
	cin >> q;
	while (q--) {
		char op;
		cin >> op;
		if (op == 'E') {
			int ind, e;
			cin >> ind >> e;
			int nv = n - e + 1;
			for (int i = 1;i <= n;++i)
				if (val[i] > val[ind] && val[i] <= nv)
					--val[i];
			val[ind] = nv;
			debug(val+1, val+1+n);
		}
		else {
			int b;
			cin >> b;
			//DE(b);
			int res = 0, mx = 0;
			if (b < sep) {
				for (int i = b;i < sep;++i) chmax(mx, val[i]), ++res;
				for (int i = sep+1;i <= n && val[i] < mx;++i) ++res;
			}
			if (b > sep) {
				for (int i = sep+1;i <= b;++i) chmax(mx, val[i]), ++res;
				for (int i = sep-1;i >= 1 && val[i] < mx;--i) ++res;
			}
			cout << res << '\n';
		}
	}
}

Compilation message

cake.cpp: In function 'int32_t main()':
cake.cpp:16:20: warning: statement has no effect [-Wunused-value]
   16 | #define debug(...) 0
      |                    ^
cake.cpp:43:4: note: in expansion of macro 'debug'
   43 |    debug(val+1, val+1+n);
      |    ^~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 324 KB Output is correct
4 Correct 11 ms 384 KB Output is correct
5 Correct 204 ms 364 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2065 ms 332 KB Time limit exceeded
2 Execution timed out 2087 ms 332 KB Time limit exceeded
3 Execution timed out 2076 ms 332 KB Time limit exceeded
4 Execution timed out 2078 ms 332 KB Time limit exceeded
5 Execution timed out 2076 ms 332 KB Time limit exceeded
6 Execution timed out 2085 ms 460 KB Time limit exceeded
7 Execution timed out 2078 ms 332 KB Time limit exceeded
8 Execution timed out 2047 ms 332 KB Time limit exceeded
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2001 ms 1480 KB Time limit exceeded
2 Correct 1374 ms 1404 KB Output is correct
3 Correct 1347 ms 1364 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Execution timed out 2085 ms 1556 KB Time limit exceeded
6 Execution timed out 2064 ms 1612 KB Time limit exceeded
7 Execution timed out 2088 ms 1660 KB Time limit exceeded
# 결과 실행 시간 메모리 Grader output
1 Correct 293 ms 332 KB Output is correct
2 Correct 500 ms 504 KB Output is correct
3 Execution timed out 2067 ms 636 KB Time limit exceeded
4 Execution timed out 2092 ms 664 KB Time limit exceeded
5 Correct 590 ms 588 KB Output is correct
6 Execution timed out 2090 ms 816 KB Time limit exceeded
7 Execution timed out 2041 ms 828 KB Time limit exceeded
8 Execution timed out 2074 ms 588 KB Time limit exceeded
9 Execution timed out 2092 ms 1284 KB Time limit exceeded
10 Correct 1959 ms 1356 KB Output is correct
11 Execution timed out 2088 ms 600 KB Time limit exceeded
12 Execution timed out 2092 ms 1084 KB Time limit exceeded
13 Execution timed out 2096 ms 1424 KB Time limit exceeded