답안 #391916

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
391916 2021-04-20T07:13:18 Z Kevin_Zhang_TW 케이크 (CEOI14_cake) C++17
25 / 100
2000 ms 1744 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)
				val[i] -= val[i] > val[ind] && val[i] <= nv;
			val[ind] = nv;
		}
		else {
			int b;
			cin >> 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';
		}
	}
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 204 KB Output is correct
2 Correct 1 ms 204 KB Output is correct
3 Correct 1 ms 204 KB Output is correct
4 Correct 5 ms 340 KB Output is correct
5 Correct 74 ms 368 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Execution timed out 2088 ms 332 KB Time limit exceeded
2 Execution timed out 2084 ms 332 KB Time limit exceeded
3 Execution timed out 2079 ms 332 KB Time limit exceeded
4 Execution timed out 2078 ms 332 KB Time limit exceeded
5 Execution timed out 2081 ms 332 KB Time limit exceeded
6 Execution timed out 2086 ms 332 KB Time limit exceeded
7 Execution timed out 2069 ms 332 KB Time limit exceeded
8 Execution timed out 2085 ms 332 KB Time limit exceeded
# 결과 실행 시간 메모리 Grader output
1 Correct 1945 ms 1316 KB Output is correct
2 Correct 1373 ms 1452 KB Output is correct
3 Correct 1332 ms 1116 KB Output is correct
4 Correct 1 ms 204 KB Output is correct
5 Execution timed out 2083 ms 1696 KB Time limit exceeded
6 Execution timed out 2067 ms 1528 KB Time limit exceeded
7 Execution timed out 2086 ms 1744 KB Time limit exceeded
# 결과 실행 시간 메모리 Grader output
1 Correct 118 ms 332 KB Output is correct
2 Correct 191 ms 564 KB Output is correct
3 Execution timed out 2068 ms 748 KB Time limit exceeded
4 Execution timed out 2077 ms 852 KB Time limit exceeded
5 Correct 248 ms 580 KB Output is correct
6 Execution timed out 2069 ms 880 KB Time limit exceeded
7 Correct 1461 ms 812 KB Output is correct
8 Execution timed out 2077 ms 588 KB Time limit exceeded
9 Execution timed out 2055 ms 1536 KB Time limit exceeded
10 Correct 818 ms 1440 KB Output is correct
11 Execution timed out 2071 ms 1004 KB Time limit exceeded
12 Execution timed out 2084 ms 1236 KB Time limit exceeded
13 Execution timed out 2094 ms 1312 KB Time limit exceeded