P2357,蒟蒻不会线段树&分块,最后一个点TLE,80pts,(代码吸氧)
#include <iostream>
using namespace std;
long long n,f,num[200005];
int main()
{
cin >> n >> f;
for (int i = 1;i <= n;i++)
{
cin >> num[i];
}
for (int i = 0;i < f;i++)
{
int x;
cin >> x;
if (x == 1)
{
long long l,r,k;
cin >> l >> r >> k;
for (int j = l;j <= r;j++)
{
num[j] += k;
}
}
if (x == 2)
{
long long k;
cin >> k;
num[1] += k;
}
if (x == 3)
{
long long k;
cin >> k;
num[1] -= k;
}
if (x == 4)
{
long long l,r,he = 0;
cin >> l >> r;
for (int j = l;j <= r;j++)
{
he += num[j];
}
cout << he << endl;
}
if (x == 5)
{
cout << num[1] << endl;
}
}
return 0;
}