Submission #48392

# Submission time Handle Problem Language Result Execution time Memory
48392 2018-05-12T17:05:38 Z aleksami Simple game (IZhO17_game) C++14
0 / 100
3 ms 1136 KB
#include <bits/stdc++.h>
using namespace std;
#define MAXN 100005
#define MAXH 1000005
int a[MAXN];
int bit[MAXN];

void update(int b[],int idx,int val)
{
	while(idx < MAXN)
	{
		b[idx]+=val;
		idx+=idx&(-idx);
	}
}
int get(int b[],int idx)
{
	int s=0;
	while(idx > 0)
	{
		s+=b[idx];
		idx-=idx&(-idx);
	}
	return s;
}

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	int n,q;
	cin >> n >> q;
	for(int i = 0; i < n; i++)
	{
		cin >> a[i];
		update(bit,a[i],1);
	}
	while(q--)
	{
		int t;
		cin >> t;
		if(t==1)
		{
			int pos,val;
			cin >> pos >> val;
			pos--;
			update(bit,a[pos],-1);
			a[pos]=val;
			update(bit,a[pos],+1);
		}
		else
		{
			int h;
			cin >> h;
			cout << get(bit,h) << "\n";
		}
	}
	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Runtime error 3 ms 1136 KB Execution killed with signal 11 (could be triggered by violating memory limits)
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Runtime error 3 ms 1136 KB Execution killed with signal 11 (could be triggered by violating memory limits)
3 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 376 KB Output is correct
2 Runtime error 3 ms 1136 KB Execution killed with signal 11 (could be triggered by violating memory limits)
3 Halted 0 ms 0 KB -