✅
P7912 100pts 队列 (used to be using vector, TLE)
This commit is contained in:
@@ -1,38 +1,38 @@
|
||||
// The question want me to impl a sort by my self
|
||||
// But absolutely not
|
||||
|
||||
#include <iostream>
|
||||
|
||||
using namespace std;
|
||||
|
||||
const int N = 10005;
|
||||
|
||||
pair<int, int> arr[N];
|
||||
int b[N];
|
||||
|
||||
int main() {
|
||||
int n, Q;
|
||||
cin >> n >> Q;
|
||||
int arr[n + 5];
|
||||
|
||||
int n, m;
|
||||
scanf("%d%d", &n, &m);
|
||||
for (int i = 1; i <= n; i++) {
|
||||
cin >> arr[i];
|
||||
scanf("%d", &arr[i].first);
|
||||
arr[i].second = i;
|
||||
}
|
||||
|
||||
for (int i = 0; i < Q; i++) {
|
||||
int op;
|
||||
cin >> op;
|
||||
sort(arr + 1, arr + n + 1);
|
||||
for (int i = 1; i <= n; i++) b[arr[i].second] = i;
|
||||
while (m--) {
|
||||
int op, x, y;
|
||||
scanf("%d", &op);
|
||||
if (op == 1) {
|
||||
int x, v;
|
||||
cin >> x >> v;
|
||||
arr[x] = v;
|
||||
scanf("%d%d", &x, &y);
|
||||
arr[b[x]].first = y;
|
||||
for (int i = 1; i < n; i++) {
|
||||
if (arr[i] > arr[i + 1]) swap(arr[i], arr[i + 1]);
|
||||
}
|
||||
for (int i = n - 1; i >= 1; i--) {
|
||||
if (arr[i] > arr[i + 1]) swap(arr[i], arr[i + 1]);
|
||||
}
|
||||
for (int i = 1; i <= n; i++) b[arr[i].second] = i;
|
||||
} else {
|
||||
int xn;
|
||||
cin >> xn;
|
||||
int it = arr[xn];
|
||||
int pos = n;
|
||||
for (int j = 1; j < xn; j++) {
|
||||
if (arr[j] > it) pos--;
|
||||
}
|
||||
for (int j = xn + 1; j <= n; j++) {
|
||||
if (arr[j] >= it) pos--;
|
||||
}
|
||||
cout << pos << endl;
|
||||
scanf("%d", &x);
|
||||
printf("%d\n", b[x]);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
Reference in New Issue
Block a user