2 条题解

  • 1
    @ 2026-3-25 11:31:02
    #include<bits/stdc++.h>
    using namespace std;
    const int N=1e6+10,M=1e6;
    int ans;
    long long a[N],s[N],n,k,l,r;
    int main() {
    	scanf("%lld",&n);
    	for(int i=1; i<=M; i++) {
    		int t=i,sum=0;
    		while(t) {
    			int g=t%10;
    			if(g==1) sum++;
    			t/=10;
    		}
    		s[i]=s[i-1]+sum;
    	}
    	for(int i=1; i<=n; i++) {
    	scanf("%lld%lld",&l,&r);
    		if(l>r) swap(l,r);
    		cout<<s[r]-s[l-1]<<endl;
    	}
    	return 0;
    }
    
    
    • -1
      @ 2026-1-8 21:19:00
      #include<bits/stdc++.h>
      using namespace std;
      long long n,x,y,ans,ti,s[1000010];
      int main(){
      	for(int i=1;i<=1e6;i++){
      		ti=i;
      		ans=0;
      		while(ti>0){
      			if(ti%10==1){
      				ans++;
      			}
      			ti/=10;
      		}
      		s[i]=s[i-1]+ans;
      	}
      	scanf("%lld",&n);
      	for(int i=1;i<=n;i++){
      	    scanf("%lld%lld",&x,&y);
      	    if(x>y){
      	        swap(x,y);
      	    }
      	    cout<<s[y]-s[x-1]<<endl;
      	}
      	return 0;
      }
      
      
      
      • 1

      信息

      ID
      5018
      时间
      1000ms
      内存
      128MiB
      难度
      9
      标签
      (无)
      递交数
      10
      已通过
      5
      上传者