Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
36169 hshh 【S】T1 C++ 解答错误 90 293 MS 8060 KB 821 2025-02-07 20:33:40

Tests(9/10):


#include <bits/stdc++.h> using namespace std; const int N=2e5+10; long long n,q1,a[N],l,r,q[N],x[N],s[N],t[N]; int l1,r1,l2,r2,res1,res2; long long f(long long m){ for(int i=1;i<=q1;i++){ if(q[i]==1&&m>=x[i]) m=t[i]*(m+s[i]); else if(q[i]==2&&m<=x[i]) m=(m-s[i])/t[i]; } return m; } int main(){ cin>>n>>q1>>l>>r; for (int i = 1; i <= n; i++) cin>>a[i]; sort(a+1,a+n+1); for (int i = 1; i <=q1; i++) cin>>q[i]>>x[i]>>s[i]>>t[i]; l1=1; r1=n; while(l1<=r1){ int mid=(l1+r1)/2; if(f(a[mid])>=l){ res1 = mid; r1 = mid - 1; } else l1 = mid + 1; } l2=res1; r2=n; while (l2<=r2){ int mid = (l2+r2)/2; if (f(a[mid])<= r){ res2 = mid; l2 = mid + 1; } else r2 = mid - 1; } cout<<max(0,res2-res1+1); return 0; }


测评信息: