QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#347931#8340. 3 Sumucup-team346#WA 140ms27252kbC++141.6kb2024-03-09 16:19:462024-03-09 16:19:47

Judging History

你现在查看的是最新测评结果

  • [2024-09-20 10:20:30]
  • hack成功,自动添加数据
  • (/hack/848)
  • [2024-03-18 21:48:05]
  • hack成功,自动添加数据
  • (/hack/579)
  • [2024-03-18 21:45:33]
  • hack成功,自动添加数据
  • (/hack/578)
  • [2024-03-09 16:19:47]
  • 评测
  • 测评结果:WA
  • 用时:140ms
  • 内存:27252kb
  • [2024-03-09 16:19:46]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
using ll = long long;
int n,K;
#define M 505
#define N 100005
char A[M][N];
const ll P = 1e17+19;
ll B[M];
int cnt = 0;
int tmp[N];
int main(){
    cin>>n>>K;
    for(int i=1;i<=n;i++){
        scanf("%s",A[i]+1);
        int len = strlen(A[i] + 1);
        reverse(A[i]+1,A[i]+1+len);
        for(int j=1;j<=K+1;j++)tmp[j]=0;
        for(int j=1;j<=len;j+=K){
            for(int k=1;k<=K;k++){
                int v = tmp[k] + (j+k-1 > len ? 0 : (int)(A[i][j+k-1]-'0'));
                tmp[k] = v%10;
                tmp[k+1] += v/10;
            }
            while(tmp[K+1]){
                assert(tmp[K+1] == 1);
                tmp[K+1] = 0;
                int k=1;
                for(;k<=K && tmp[k]==9;k++)
                    tmp[k] = 0;
                tmp[k]++;
            }
            int flg = 1;
            for(int k=1;k<=K && flg;k++)
                if(tmp[k]!=9)flg = 0;
            if(flg){
                for(int k=1;k<=K;k++)tmp[k]=0;
            }
        }
        int flg = 1;
        for(int j=1;flg && j<=K;j++)
            if(tmp[j] != 0)flg = 0;
        cnt += flg;
        for(int j=K;j>=1;j--)
            B[i] = (10*B[i]+tmp[j])%P;
    }
    int a=0,b=0;
    for(int i=1;i<=K;i++)
        a=(10ll*a+9)%P;
    b=2*a%P;
    unordered_map<ll,int> pos;
    ll ans = 1ll*(cnt+2)*(cnt+1)*cnt/6;
    for(int i=n;i>=1;i--){
        pos[B[i]]++;
        for(int j=i;j>=1;j--){
            ans += pos[(P+P+a-B[i]-B[j])%P];
            ans += pos[(P+P+b-B[i]-B[j])%P];
        }
    }
    cout<<ans<<endl;
    return 0;
}

詳細信息

Test #1:

score: 100
Accepted
time: 0ms
memory: 3748kb

input:

4 1
0
1
10
17

output:

3

result:

ok 1 number(s): "3"

Test #2:

score: 0
Accepted
time: 46ms
memory: 18292kb

input:

500 859
7118711592236878297922359501613604144948355616986970837340677671376753603836852811886591300370143151943368529129749813118476151865844255212534355441611481420938483178075143062691345257288242460282715389758789648541099090735875617822348551942134616963557723055980260082230902505269975518146286...

output:

0

result:

ok 1 number(s): "0"

Test #3:

score: 0
Accepted
time: 140ms
memory: 27252kb

input:

500 17336
11871159223687829792235950161360414494835561698697083734067767137675360383685281188659130037014315194336852912974981311847615186584425521253435544161148142093848317807514306269134525728824246028271538975878964854109909073587561782234855194213461696355772305598026008223090250526997551814628...

output:

0

result:

ok 1 number(s): "0"

Test #4:

score: 0
Accepted
time: 115ms
memory: 17220kb

input:

500 1
751324443898124078584847834484321089092662321556147445230263526014359393841194947303407593948729802551881289193716611867931891257925091769456350249725997883453296895094445731130479434019358742162771547784250401546380268386074363779242500860317042151185119666027858022664683818314351285215150806...

output:

2327631

result:

ok 1 number(s): "2327631"

Test #5:

score: 0
Accepted
time: 85ms
memory: 17248kb

input:

500 2
408542968136435277974575411503179002415404345446801430469044749372949272333801248935236224652806667129749035002588943020176263162139056819871274824302889304493205266143688886696157147111754418731401856424401766968832165255416237731963027205324149660112574729610391396555581935236134531799950318...

output:

212002

result:

ok 1 number(s): "212002"

Test #6:

score: -100
Wrong Answer
time: 92ms
memory: 17528kb

input:

500 11500
75411775796562109942642493394321873284995260953010112281856775261847503626737348402159485133662757032091519863427156582689971229143089317472838196453888261138079171290535429921921548971897026706656838415620603757605079012541561774699628665865662183868374645956694140356716037674688084770628...

output:

1

result:

wrong answer 1st numbers differ - expected: '7675', found: '1'