为什么打暴力却没有分
查看原帖
为什么打暴力却没有分
981005
KipperLee楼主2024/8/15 09:09

预计得分30,代码如下:

#include <iostream>
using namespace std;

int a[3000005];

int main()
{
	int n, m;
	cin >> n >> m;
	
	for (int i = 1; i <= n; i++)
	{
		cin >> a[i];
	}
	
	for (int d = 0; d < m; d++)
	{
		int op, l, r;
		cin >> op >> l >> r;
		
		if (op == 1)
		{
			for (int i = l; i <= r; i++)
			{
				a[i] = 0;
			}
		}
		else if (op == 2)
		{
			for (int i = l; i <= r; i++)
			{
				a[i] = 1;
			}
		}
		else if (op == 3)
		{
			for (int i = l; i < r; i++)
			{
				a[i] |= a[i + 1];
			}
		}
		else if (op == 4)
		{
			for (int i = r; i > l; i--)
			{
				a[i] |= a[i - 1];
			}
		}
		else if (op == 5)
		{
			for (int i = l; i < r; i++)
			{
				a[i] &= a[i + 1];
			}
		}
		else if (op == 6)
		{
			for (int i = r; i > l; i--)
			{
				a[i] &= a[i - 1];
			}
		}
		else
		{
			int sum = 0;
			
			for (int i = l; i <= r; i++)
			{
				sum += a[i];
			}
			
			cout << sum << endl;
		}
	}
	
	return 0;
}

评测记录

2024/8/15 09:09
加载中...