练习4
下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码下次一定要改cf密码
T1
#include<iostream>
#include<cmath>
using namespace std;
int _,l,r;
int main(){
cin>>_;
while(_--){
cin>>l>>r;
cout<<int(log2(r))<<endl;
}
return 0;
}
T2
#include<iostream>
using namespace std;
int _,n,l,r,arr[100001];
int main(){
cin>>_;
while(_--){
cin>>n>>l>>r;
for(int i=1;i<=n;i++) cin>>arr[i];
int g=1,ans=0;
while(g<=n){
int sum=arr[g++],f=1;
if(g==n+1){
if(sum>=l && sum<=r) ans++;
break;
}
while(sum<l){
if(sum+arr[g]>r && arr[g]>=l && arr[g]<=r){
f=0;
break;
}
sum+=arr[g++];
if(g==n+1){
if(sum>=l && sum<=r) ans++;
f=0;
break;
}
}
if(!f) continue;
if(sum>=l && sum<=r) ans++;
}
cout<<ans<<endl;
}
return 0;
}
下面是申金版
#include<iostream>
using namespace std;
int _,__,___,_____,____[100001];
int main(){
cin>>_;
while(_--){
cin>>__>>___>>_____;
for(int i=1;i<=__;i++) cin>>____[i];
int ________=1,_________=0;
while(________<=__){
int _______=____[________++],______=1;
if(________==__+1){
if(_______>=___ && _______<=_____) _________++;
break;
}
while(_______<__){
if(_______+____[________]>_____ && ____[________]>=___ && ____[________]<=_____){
______=0;
break;
}
_______+=____[________++];
if(________==__+1){
if(_______>=___ && _______<=_____) _________++;
______=0;
break;
}
}
if(!______) continue;
if(_______>=___ && _______<=_____) _________++;
}
cout<<_________<<endl;
}
return 0;
}