O(nm)过10万
查看原帖
O(nm)过10万
294562
EDqwq楼主2020/12/3 18:18

RT

/*
  Author : EnderDeer
  OnlineJudge : Luogu
*/

#include<bits/stdc++.h>

#define int long long

using namespace std;

int read(){
   int s = 0,w = 1;
   char ch = getchar();
   while(ch < '0' || ch > '9'){if(ch == '-')w = -1;ch = getchar();}
   while(ch >= '0' && ch <= '9')s = s * 10 + ch - '0',ch = getchar();
   return s * w;
}

int n,m;
int a[100010];

void update(int l,int r,int k,int d){
	int cnt = 0;
	for(int i = l;i <= r;i ++){
		a[i] += k + d * cnt;
		cnt ++;
	}
}

signed main(){
	cin>>n>>m;
	for(int i = 1;i <= n;i ++)a[i] = read();
	while(m --){
		int op;
		int l,r,k,d;
		op = read();
		if(op == 1){
			l = read(),r = read(),k = read(),d = read();
			update(l,r,k,d);
		}
		else {
			l = read();
			cout<<a[l];
			puts("");
		}
	}
	return 0;
}

C++17 + O2 + 暴力 = AC

2020/12/3 18:18
加载中...