求调 60pts TLE
查看原帖
求调 60pts TLE
724593
Decepticon楼主2022/10/19 20:43

77 TT飞了

#include <bits/stdc++.h>
using namespace std;
string s;

int read() {
    int x=0,f=1;
    char c=getchar();
    while(c<'0'||c>'9'){if(c=='-') f=-1;c=getchar();}
    while(c>='0'&&c<='9') x=x*10+c-'0',c=getchar();
    return x*f;
}


void write(int x){
    if(x > 9) write(x/10);
    cout << x%10;
}
 

void fz(int a){
	for(register int i = 1; i <= a; i += 4){
		if(i == a){
			if(a >= 10 && a <= 99){
			   s += (char)(a/10+'0');
			   s += (char)(a%10+'0');
			} else if(a >= 100){
			   s += (char)(a/100+'0');
			   s += (char)(a/10%10+'0');
			   s += (char)(a%10+'0');
			} else {
			   s += (char)(a+'0');
			}
	    } else if(i == a-1){
	    	if(a >= 10 && a <= 99){
			   s += (char)(a/10+'0');
			   s += (char)(a%10+'0');
			   s += (char)(a/10+'0');
			   s += (char)(a%10+'0');
			} else if(a >= 100){
			   s += (char)(a/100+'0');
			   s += (char)(a/10%10+'0');
			   s += (char)(a%10+'0');
			   s += (char)(a/100+'0');
			   s += (char)(a/10%10+'0');
			   s += (char)(a%10+'0');
			} else {
			   s += (char)(a+'0');
			   s += (char)(a+'0');
			}
		} else if(i == a-2){
			if(a >= 10 && a <= 99){
			   s += (char)(a/10+'0');
			   s += (char)(a%10+'0');
			   s += (char)(a/10+'0');
			   s += (char)(a%10+'0');
			   s += (char)(a/10+'0');
			   s += (char)(a%10+'0');
			} else if(a >= 100){
			   s += (char)(a/100+'0');
			   s += (char)(a/10%10+'0');
			   s += (char)(a%10+'0');
			   s += (char)(a/100+'0');
			   s += (char)(a/10%10+'0');
			   s += (char)(a%10+'0');
			   s += (char)(a/100+'0');
			   s += (char)(a/10%10+'0');
			   s += (char)(a%10+'0');
			} else {
			   s += (char)(a+'0');
			   s += (char)(a+'0');
			   s += (char)(a+'0');
			}
		} else {
			if(a >= 10 && a <= 99){
			   s += (char)(a/10+'0');
			   s += (char)(a%10+'0');
			   s += (char)(a/10+'0');
			   s += (char)(a%10+'0');
			   s += (char)(a/10+'0');
			   s += (char)(a%10+'0');
			   s += (char)(a/10+'0');
			   s += (char)(a%10+'0');
			} else if(a >= 100){
			   s += (char)(a/100+'0');
			   s += (char)(a/10%10+'0');
			   s += (char)(a%10+'0');
			   s += (char)(a/100+'0');
			   s += (char)(a/10%10+'0');
			   s += (char)(a%10+'0');
			   s += (char)(a/100+'0');
			   s += (char)(a/10%10+'0');
			   s += (char)(a%10+'0');
			   s += (char)(a/100+'0');
			   s += (char)(a/10%10+'0');
			   s += (char)(a%10+'0');
			} else {
			   s += (char)(a+'0');
			   s += (char)(a+'0');
			   s += (char)(a+'0');
			   s += (char)(a+'0');
			}
		}
	}
}

int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);
    cout.tie(0);  
	for(register int i = 1; i <= 812; ++i){
		fz(i);
	}
	int t;
	t = read();
	long long ans = 0;
	for(register int i = 1; i <= t; ++i){
		int l,r;
		l = read(),r = read();
		for(register int j = l-1; j < r; j += 10){ 
			if(j == r-1){
			   ans += s[j]-'0';
			} else if(j == r-2){
			   ans += (s[j]-'0'+s[j+1]-'0');
			} else if(j == r-3){
			   ans += (s[j]-'0'+s[j+1]-'0'+s[j+2]-'0');
			} else if(j == r-4){
			   ans += (s[j]-'0'+s[j+1]-'0'+s[j+2]-'0'+s[j+3]-'0');
			} else if(j == r-5){
			   ans += (s[j]-'0'+s[j+1]-'0'+s[j+2]-'0'+s[j+3]-'0'+s[j+4]-'0');
			} else if(j == r-6){
			   ans += (s[j]-'0'+s[j+1]-'0'+s[j+2]-'0'+s[j+3]-'0'+s[j+4]-'0'+s[j+5]-'0');
			} else if(j == r-7){
			   ans += (s[j]-'0'+s[j+1]-'0'+s[j+2]-'0'+s[j+3]-'0'+s[j+4]-'0'+s[j+5]-'0'+s[j+6]-'0');
			} else if(j == r-8){
			   ans += (s[j]-'0'+s[j+1]-'0'+s[j+2]-'0'+s[j+3]-'0'+s[j+4]-'0'+s[j+5]-'0'+s[j+6]-'0'+s[j+7]-'0');
			} else if(j == r-9){
			   ans += (s[j]-'0'+s[j+1]-'0'+s[j+2]-'0'+s[j+3]-'0'+s[j+4]-'0'+s[j+5]-'0'+s[j+6]-'0'+s[j+7]-'0'+s[j+8]-'0');
			} else {
			   ans += (s[j]-'0'+s[j+1]-'0'+s[j+2]-'0'+s[j+3]-'0'+s[j+4]-'0'+s[j+5]-'0'+s[j+6]-'0'+s[j+7]-'0'+s[j+8]-'0'+s[j+9]-'0');
			}
		}
		write(ans);
        cout << "\n";
		ans = 0;
	}
	return 0;
}
2022/10/19 20:43
加载中...