답안 #1106379

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1106379 2024-10-30T07:08:12 Z stdfloat Simple game (IZhO17_game) C++17
22 / 100
20 ms 5112 KB
#include <bits/stdc++.h>
using namespace std;

using ll = long long;

#define sz(v)	(int)(v).size()
#define all(v)	(v).begin(), (v).end()

const int N = (int)1e6 + 1;

int main() {
	ios::sync_with_stdio(false); cin.tie(nullptr);

	int n, q;
	cin >> n >> q;

	vector<int> a(n);
	for (auto &i : a)
		cin >> i;

	if (n <= (int)1e3) {
		while (q--) {
			int tp, x;
			cin >> tp >> x;

			if (tp == 1) {
				int vl;
				cin >> vl;

				a[--x] = vl;
			}
			else {
				int cnt = 0;
				for (int i = 0; i + 1 < n; i++)
					cnt += (min(a[i], a[i + 1]) < x && x < max(a[i], a[i + 1]));

				cout << cnt << '\n';
			}
		}
		return 0;
	}

	vector<int> cnt(N);
	for (int i = 0; i + 1 < n; i++)
		cnt[min(a[i], a[i + 1])]++;
	for (int i = N - 2; i >= 0; i--)
		cnt[i] += cnt[i + 1];

	sort(all(a));

	while (q--) {
		int tp, x;
		cin >> tp >> x;

		if (x > a[n - 1]) {
			cout << "0\n"; continue;
		}

		int y = upper_bound(all(a), x) - a.begin();
		cout << (y == n ? 0 : 1 + ((n - y - 1 - cnt[a[y]]) << 1)) << '\n';
	}
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 336 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
3 Correct 2 ms 336 KB Output is correct
4 Correct 2 ms 336 KB Output is correct
5 Correct 2 ms 336 KB Output is correct
6 Correct 2 ms 336 KB Output is correct
7 Correct 2 ms 336 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 336 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
3 Correct 2 ms 336 KB Output is correct
4 Correct 2 ms 336 KB Output is correct
5 Correct 2 ms 336 KB Output is correct
6 Correct 2 ms 336 KB Output is correct
7 Correct 2 ms 336 KB Output is correct
8 Incorrect 20 ms 5112 KB Output isn't correct
9 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 336 KB Output is correct
2 Correct 2 ms 384 KB Output is correct
3 Correct 2 ms 336 KB Output is correct
4 Correct 2 ms 336 KB Output is correct
5 Correct 2 ms 336 KB Output is correct
6 Correct 2 ms 336 KB Output is correct
7 Correct 2 ms 336 KB Output is correct
8 Incorrect 20 ms 5112 KB Output isn't correct
9 Halted 0 ms 0 KB -