Submission #593308

# Submission time Handle Problem Language Result Execution time Memory
593308 2022-07-10T20:32:17 Z Lawliet Simple game (IZhO17_game) C++17
0 / 100
5 ms 8404 KB
#include <bits/stdc++.h>
 
#define MAX 1000010
 
using namespace std;
 
class FenwickTree
{
	public:
		
		void update(int i, int v)
		{
			for( ; i > 0 ; i -= i&-i)
				BIT[ i ] += v;
		}
 
		void sumInterval(int l, int r, int v)
		{
			update(r , v);
			if(l > 0) update(l - 1 , -v);
		}
		
		int query(int i)
		{
			int ans = 0;
 
			for( ; i < MAX ; i += i & -i)
				ans += BIT[ i ];
 
			return ans;
		}
 
		FenwickTree() { memset(BIT , 0 , sizeof(BIT)); }
		
	private:
		
		int BIT[MAX];
};
 
int n, m;
int n1, n2, n3;
 
int v[MAX];
 
FenwickTree BIT;
 
void update(int i, int k)
{
	if(2 <= i && i <= n) 
		BIT.sumInterval(min(v[ i ] , v[i - 1]) , max(v[i] , v[i - 1]) , k);
}
 
int main()
{
	scanf("%d %d",&n,&m);
 
	for(int g = 1 ; g <= n ; g++)
		scanf("%d",&v[g]);
 
	for(int g = 1 ; g <= n ; g++)
		update(g , 1);
 
	for(int g = 0 ; g < m ; g++)
	{
		scanf("%d %d",&n1,&n2);
 
		if(n1 == 1)
		{
			scanf("%d",&n3);
            assert(false);
 
			update(n2 , -1);
			update(n2 + 1 , -1);
 
			v[ n2 ] = n3;
 
			update(n2 , 1);
			update(n2 + 1 , 1);
		}
		else printf("%d\n",BIT.query( n2 ));
	}
}

Compilation message

game.cpp: In function 'int main()':
game.cpp:55:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   55 |  scanf("%d %d",&n,&m);
      |  ~~~~~^~~~~~~~~~~~~~~
game.cpp:58:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   58 |   scanf("%d",&v[g]);
      |   ~~~~~^~~~~~~~~~~~
game.cpp:65:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   65 |   scanf("%d %d",&n1,&n2);
      |   ~~~~~^~~~~~~~~~~~~~~~~
game.cpp:69:9: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   69 |    scanf("%d",&n3);
      |    ~~~~~^~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Runtime error 5 ms 8404 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 5 ms 8404 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 5 ms 8404 KB Execution killed with signal 6
2 Halted 0 ms 0 KB -