コード:
#include <ビット/ STDC ++ H> に#define setIO(S)freopenは(S ".IN"、 "R"、STDIN) の#define LL長い長 の#define MAXN 100000 名前空間stdを使用。 BRR [MAXN]、[30] ARR INT。 LL CALC(LLさt){ int型のn = 0、m = 0です。 [++ N] = T 10%、T / = 10 ARR(T)一方、 (N> = 1){ながら BRR [M ++] =(ARR [i]が+ ARR [I-1])10%;(++ I; iが<= N I = 2の整数)のために 一方、(BRR [M] == 0 && M> = 2)--m。 以下のために(INT I = 1; I <= M; ++ I)ARR [I] = BRR [I]。 N = M、M = 0。 } ARRリターン[1]。 } 解決11(LL kは){ INT O = Kの10%。 場合(K <10)戻りK *(K + 1)/ 2。 LL再=(K / 10)* 45、T = CALC((K / 10)* 10)。 再+ = 1LL *(T + I)10%;(; I <= O ++ I iは0 = INT)のために 再を返します。 } int型のmain(){ // setIO( "入力")。 int型T; scanf関数( "%のD"、&T)。 (T--){一方 のLL L、R。 scanf関数( "%のLLDの%のLLD"、&L&R)。 printf( "%のLLDを\ n"、(r)を解く- (L-1)を解きます)。 } 0を返します。 }