QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#493495#9158. 分数Dawnq#40 5966ms377960kbC++141.3kb2024-07-27 09:52:312024-07-27 09:52:32

Judging History

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

  • [2024-07-27 09:52:32]
  • 评测
  • 测评结果:40
  • 用时:5966ms
  • 内存:377960kb
  • [2024-07-27 09:52:31]
  • 提交

answer

#include<bits/stdc++.h>
#define fi first
#define se second
using namespace std;
typedef pair<int,int> pii;
const int N=1e5+5;
int n,m;
unordered_map<int,int>mp[N];
inline bool Check(int x,int y){
    if(n>8000&&m>8000)return 1<=x&&x<=n&&1<=y&&y<=m&&!mp[x].count(y)&&(y>=2*x||x>=2*y);
    return 1<=x&&x<=1e5&&1<=y&&y<=1e5&&!mp[x].count(y)&&(y>=2*x||x>=2*y);
}
signed main(){
    // freopen("ex_2.in","r",stdin);
    // freopen(".out","w",stdout);
    std::ios::sync_with_stdio(false);
    cin.tie(0),cout.tie(0);
    cin>>n>>m;
    queue<pii>q;
    q.push(pii(1,2)),mp[1][2]=true;
    while(!q.empty()){
        pii u=q.front();q.pop();
        int x=u.fi,y=u.se,tx,ty,g;
        if(Check(y,x))q.push(pii(y,x)),mp[y][x]=true;
        if(x>y*2){
            tx=x-y*2,ty=y,g=__gcd(tx,ty),tx/=g,ty/=g;
            if(Check(tx,ty))q.push(pii(tx,ty)),mp[tx][ty]=true;
        }
        tx=x+y*2,ty=y,g=__gcd(tx,ty),tx/=g,ty/=g;
        if(Check(tx,ty))q.push(pii(tx,ty)),mp[tx][ty]=true;
    }
    if(n<=8000&&m<=8000){
         int Ans=0;
        for(int i=1;i<=n;++i){
            for(auto j:mp[i])Ans+=j.fi<=m;
        }
        cout<<Ans;
    }else{
        int Ans=0;
        for(int i=1;i<=n;++i)Ans+=mp[i].size();
        cout<<Ans;
    }
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Pretests

Pretest #1:

score: 5
Accepted
time: 5670ms
memory: 377828kb

input:

99 99

output:

406

result:

ok 1 number(s): "406"

Pretest #2:

score: 5
Accepted
time: 5698ms
memory: 377844kb

input:

98 97

output:

405

result:

ok 1 number(s): "405"

Pretest #3:

score: 5
Accepted
time: 5673ms
memory: 377832kb

input:

99 96

output:

396

result:

ok 1 number(s): "396"

Pretest #4:

score: 5
Accepted
time: 5719ms
memory: 377880kb

input:

995 977

output:

11153

result:

ok 1 number(s): "11153"

Pretest #5:

score: 5
Accepted
time: 5709ms
memory: 377960kb

input:

991 990

output:

11220

result:

ok 1 number(s): "11220"

Pretest #6:

score: 5
Accepted
time: 5755ms
memory: 377816kb

input:

976 968

output:

10900

result:

ok 1 number(s): "10900"

Pretest #7:

score: 5
Accepted
time: 5869ms
memory: 377816kb

input:

7602 7864

output:

215706

result:

ok 1 number(s): "215706"

Pretest #8:

score: 5
Accepted
time: 5832ms
memory: 377896kb

input:

7959 7735

output:

220256

result:

ok 1 number(s): "220256"

Pretest #9:

score: 5
Accepted
time: 5909ms
memory: 377884kb

input:

7878 7863

output:

221162

result:

ok 1 number(s): "221162"

Pretest #10:

score: 5
Accepted
time: 5846ms
memory: 377888kb

input:

7788 7658

output:

215323

result:

ok 1 number(s): "215323"

Pretest #11:

score: 0
Wrong Answer
time: 5247ms
memory: 353592kb

input:

95399 99767

output:

8018282

result:

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

Pretest #12:

score: 0
Wrong Answer
time: 5466ms
memory: 367488kb

input:

98051 99642

output:

8341748

result:

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

Pretest #13:

score: 0
Wrong Answer
time: 5417ms
memory: 354820kb

input:

95624 96007

output:

8045076

result:

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

Pretest #14:

score: 5
Accepted
time: 5651ms
memory: 370752kb

input:

99208 98047

output:

8412610

result:

ok 1 number(s): "8412610"

Pretest #15:

score: 0
Runtime Error

input:

997417 967722

output:


result:


Pretest #16:

score: 0
Runtime Error

input:

987807 956529

output:


result:


Pretest #17:

score: 0
Runtime Error

input:

971654 984345

output:


result:


Pretest #18:

score: 0
Runtime Error

input:

7892259 7983727

output:


result:


Pretest #19:

score: 0
Runtime Error

input:

7937869 29796968

output:


result:


Pretest #20:

score: 0
Runtime Error

input:

29717543 29510173

output:


result:



Final Tests

Test #1:

score: 5
Accepted
time: 5885ms
memory: 377956kb

input:

96 98

output:

396

result:

ok 1 number(s): "396"

Test #2:

score: 0
Time Limit Exceeded

input:

100 99

output:


result:


Test #3:

score: 0
Time Limit Exceeded

input:

99 99

output:


result:


Test #4:

score: 0
Time Limit Exceeded

input:

963 951

output:


result:


Test #5:

score: 0
Time Limit Exceeded

input:

958 974

output:


result:


Test #6:

score: 5
Accepted
time: 5745ms
memory: 377868kb

input:

966 990

output:

11003

result:

ok 1 number(s): "11003"

Test #7:

score: 0
Time Limit Exceeded

input:

7958 7947

output:

224482

result:


Test #8:

score: 5
Accepted
time: 5966ms
memory: 377896kb

input:

7623 7730

output:

213444

result:

ok 1 number(s): "213444"

Test #9:

score: 5
Accepted
time: 5841ms
memory: 377900kb

input:

7845 7783

output:

218916

result:

ok 1 number(s): "218916"

Test #10:

score: 0
Time Limit Exceeded

input:

7881 7773

output:

219451

result:


Test #11:

score: 5
Accepted
time: 5694ms
memory: 372956kb

input:

99414 98698

output:

8465217

result:

ok 1 number(s): "8465217"

Test #12:

score: 5
Accepted
time: 5371ms
memory: 363296kb

input:

98249 96148

output:

8237486

result:

ok 1 number(s): "8237486"

Test #13:

score: 5
Accepted
time: 5566ms
memory: 366824kb

input:

99003 96832

output:

8324931

result:

ok 1 number(s): "8324931"

Test #14:

score: 5
Accepted
time: 5445ms
memory: 362820kb

input:

98266 96030

output:

8231065

result:

ok 1 number(s): "8231065"

Test #15:

score: 0
Runtime Error

input:

968207 958885

output:


result:


Test #16:

score: 0
Runtime Error

input:

959846 998397

output:


result:


Test #17:

score: 0
Runtime Error

input:

965821 972280

output:


result:


Test #18:

score: 0
Runtime Error

input:

7855098 7962479

output:


result:


Test #19:

score: 0
Runtime Error

input:

7841076 29648718

output:


result:


Test #20:

score: 0
Runtime Error

input:

29365129 29012208

output:


result: