沉石鱼惊旋 @ 2022-01-15 15:24:54
CF896E,这段代码哪里出了问题,蒟蒻我看不出来,能编译,没结果
by 沉石鱼惊旋 @ 2022-01-15 15:25:07
#include<bits/stdc++.h>
using namespace std;
int a[100001];
int n,m,k,l,r,x,sum,i,mm;
#define getchar() p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++
char buf[1<<21],*p1=buf,*p2=buf;
inline int read()
{
char c=getchar();int x=0;bool f=0;
for(;!isdigit(c);c=getchar());
for(;isdigit(c);c=getchar())x=(x<<1)+(x<<3)+(c^48);
return x;
}
int main()
{
n=read();
m=read();
for(i=1;i<=n;i++)
{
a[i]=read();
}
while(m--)
{
k=read();
l=read();
r=read();
x=read();
if(k==1)
{
for(i=l;i<=r;i++)
{
a[i]-=(a[i]>x)?x:0;
}
}
if(k==2)
{
sum=0;
for(i=l;i<=r;i++)sum+=(a[i]==x?1:0);
printf("%d\n",sum);
}
}
return 0;
}
by zhiyangfan @ 2022-01-15 15:32:37
@chenyuxuan__2009 用 fread 的话,输入完成需要加一个 ctrl+Z 表示 EOF 输入才能停止。
by zhiyangfan @ 2022-01-15 15:33:41
就像这样。
by 沉石鱼惊旋 @ 2022-01-15 15:36:26
@zhiyangfan 哦谢谢,别人给的快读代码,自己也不咋懂……现在懂了