Submission #1262048

#TimeUsernameProblemLanguageResultExecution timeMemory
1262048shafi_rootBubble Sort 2 (JOI18_bubblesort2)C++20
Compilation error
0 ms0 KiB
#include "bubblesort2.h"
#include <bits/stdc++.h>

using namespace std;

#define pb push_back
#define pii pair<int, int>
// #define F first
// #define S second
#define lc id<<1
#define rc lc|1
#define mid ((l+r)>>1)

const int MXN = 1e6+5;

int readInt(){
	int i;
	if(scanf("%d",&i)!=1){
		fprintf(stderr,"Error while reading input\n");
		exit(1);
	}
	return i;
}

int N, n, q, seg[MXN<<2], lz[MXN<<2];
vector<int> A, X, V;

void Put(int x, int id) {
	seg[id] += x;
	lz[id] += x;
}

void Shift(int l, int r, int id) {
	if (r - l > 1 && lz[id]) {
		Put(lz[id], lc);
		Put(lz[id], rc);
		lz[id] = 0;
	}
}

void Upd(int s, int e, int x, int l = 0, int r = MXN, int id=1) {
	Shift(l, r, id);
	if (s <= l && r <= e) {
		Put(x, id);
		return;
	}
	if (s < mid) Upd(s,e,x, l, mid, lc);
	if (mid < e) Upd(s,e,x, mid, r, rc);
	seg[id] = max(seg[lc], seg[rc]);
}

int main(){
	n=readInt();
	q=readInt();
	vector<pii> vec;
	for(int i=0;i<n;i++) {
		A.pb(readInt());
		vec.pb({A[i], i});
	}
	
	for(int j=0;j<q;j++) {
		X.pb(readInt());
		V.pb(readInt());
		vec.pb({V[j], X[j]});
	}

	sort(vec.begin(), vec.end());

	for (int i = 0; i < n; i++) {
		int x = lower_bound(vec.begin(), vec.end(), make_pair(A[i], i)) - vec.begin();
		Upd(x, x+1, i);
		Upd(x+1, MXN, -1);
	}
	for (int i = 0; i < q; i++) {
		int x = lower_bound(vec.begin(), vec.end(), make_pair(A[X[i]], X[i])) - vec.begin();
		Upd(x, x+1, -X[i]);
		Upd(x+1, MXN, 1);
		A[X[i]] = V[i];
		x = lower_bound(vec.begin(), vec.end(), make_pair(V[i], X[i])) - vec.begin();
		Upd(x, x+1, X[i]);
		Upd(x+1, MXN, -1);
		cout << seg[1] << '\n';
	}

	// vector<int> res=countScans(A,X,V);
	// for(int j=0;j<int(res.size());j++)
	// 	printf("%d\n",res[j]);
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccwFZQc7.o: in function `readInt()':
grader.cpp:(.text+0x0): multiple definition of `readInt()'; /tmp/ccNXOPdv.o:bubblesort2.cpp:(.text+0x500): first defined here
/usr/bin/ld: /tmp/ccwFZQc7.o: in function `main':
grader.cpp:(.text.startup+0x0): multiple definition of `main'; /tmp/ccNXOPdv.o:bubblesort2.cpp:(.text.startup+0x0): first defined here
/usr/bin/ld: /tmp/ccwFZQc7.o: in function `main':
grader.cpp:(.text.startup+0x189): undefined reference to `countScans(std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >, std::vector<int, std::allocator<int> >)'
collect2: error: ld returned 1 exit status