社区讨论
有没有大佬帮忙优化一下 t4分tle了必关!
P9853[入门赛 #17] 方程求解参与者 2已保存回复 2
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 2 条
- 当前快照
- 1 份
- 快照标识符
- @miegluq1
- 此快照首次捕获于
- 2025/11/25 18:55 3 个月前
- 此快照最后确认于
- 2025/11/25 19:46 3 个月前
CPP
#include<bits/stdc++.h>
using namespace std;
const int N = 2e5+50;
int n,q,j=1,x[N];
string a;
int main()
{
cin>>n>>q;
while(n--)
{
cin>>a;
if(a[0]!='-')
{
int l=0,sum1=0,sum2=0,sum3=0;
bool o=0;
while(a[l]>='0'&&a[l]<='9')
{
sum1*=10;
sum1+=a[l++]-'0';
}
if(a[l+1]=='-') o=1;
l+=2;
while(a[l]>='0'&&a[l]<='9')
{
sum2*=10;
sum2+=a[l++]-'0';
}
l++;
while(a[l]>='0'&&a[l]<='9')
{
sum3*=10;
sum3+=a[l++]-'0';
}
if(o==0) sum3-=sum2;
else sum3+=sum2;
x[j++]=sum3/sum1;
}
else
{
int l=1,sum1=0,sum2=0,sum3;
bool o=0;
while(a[l]>='0'&&a[l]<='9')
{
sum1*=10;
sum1+=a[l++]-'0';
}
sum1=-sum1;
if(a[l+1]=='-') o=1;
l+=2;
while(a[l]>='0'&&a[l]<='9')
{
sum2*=10;
sum2+=a[l++]-'0';
}
l++;
while(a[l]>='0'&&a[l]<='9')
{
sum3*=10;
sum3+=a[l++]-'0';
}
if(o==0) sum3-=sum2;
else sum3+=sum2;
x[j++]=sum3/sum1;
}
}
while(q--)
{
int L,R,ans=0;
cin>>L>>R;
for(int i=L;i<=R;i++)
{
for(int k=1;k<=j;k++)
{
if(x[k]==i)
{
ans++;
break;
}
}
}
cout<<ans<<endl;
}
return 0;
}
回复
共 2 条回复,欢迎继续交流。
正在加载回复...