比赛 4043级2023省选练习赛5 评测结果 AAATTTTTTT
题目名称 市场 最终得分 30
用户昵称 Benjamin 运行时间 17.500 s
代码语言 C++ 内存使用 5.08 MiB
提交时间 2023-03-13 20:40:48
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;

ll n,q,a[100000+5],s[100000+1];

int main()
{
	freopen("2017market.in","r",stdin);
	freopen("2017market.out","w",stdout);
	scanf("%lld%lld",&n,&q);
	memset(a,0,sizeof(a));
	memset(s,0,sizeof(s));
	for(int i=1;i<=n;i++)
	{
		scanf("%lld",&a[i]);
		s[i]=s[i-1]+a[i];
	}
	for(int i=1;i<=q;i++)
	{
		ll q;
		scanf("%lld",&q);
		if(q==1)
		{
			ll l,r,c;
			scanf("%lld%lld%lld",&l,&r,&c);
			r++,l++;
			for(int j=l;j<=r;j++)
				a[j]+=c,s[j]+=c;
		}
		if(q==2)
		{
			ll l,r,d;
			scanf("%lld%lld%lld",&l,&r,&d);
			r++,l++;
			for(int j=l;j<=r;j++)
			{
				a[j]=floor(a[j]*1.0/d);
			}
		}
		if(q==3)
		{
			ll l,r,mn=1e10;
			scanf("%lld%lld",&l,&r);
			r++,l++;
			for(int j=l;j<=r;j++)
				if(a[j]<mn)mn=a[j];
			printf("%lld\n",mn);
		}
		if(q==4)
		{
			ll l,r,sum=0;
			scanf("%lld%lld",&l,&r);
			r++,l++;
			for(int j=l;j<=r;j++)sum+=a[j];
			printf("%lld\n",sum);
		}
	}
	return 0;
}