求求求,求助卡常
查看原帖
求求求,求助卡常
523541
Onana_in_XMFLS楼主2021/9/28 15:43

楼主知道暴力不对,轻喷,但我还是想知道我什么我的代码这么慢……

#include<bits/stdc++.h>
#pragma comment(linker,"/stack:200000000")
#pragma GCC optimize("Ofast,no-stack-protector")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#define LL long long
#define ULL unsigned long long
#define LD long double
#define mem(x) memset((x),(0),(sizeof(x)))
#define R register
using namespace std;
int a[100000+5];
inline char nc()
{
    static char buf[1000010],*p1=buf,*p2=buf;
    return p1==p2&&(p2=(p1=buf)+fread(buf,1,1000010,stdin),p1==p2)?EOF:*p1++;
}
inline int read()
{
    register int s=0,w=0;
    static char ch=nc();
    for(;!isdigit(ch);)ch=nc();
    for(;isdigit(ch);){
        s=(s<<1)+(s<<3)+(ch^48);
        ch=nc();
    }
    return w?-s:s;
}
int main(int argc,char *argv[])
{ 
	//freopen("data.in","r",stdin);
	//freopen("data.out","w",stdout);
	R int n = read(),m = read();
	for(R int i = 1;i <= n;++i) a[i] = read();
	while(m--)
	{
		R int op = read(),l = read(),r = read(),x = read();
		if(op&1)
		{
			for(int i = l;i <= r;++i)
				a[i] -= (a[i]<=x)?0:x;
		}
		else
		{
			R int ans = 0;
			for(R int i = l;i <= r;++i)
				ans += (a[i] == x);
			printf("%d\n",ans);
		}
	}
	#ifndef ONLINE_JUDGE
		printf("Time used = %.0lfms\n",((double)clock()/(double)CLOCKS_PER_SEC) * 1000.0);
	#endif
	return 0;exit(0);
}  
2021/9/28 15:43
加载中...