gpt4 book ai didi

c++ - 从 Codechef March Long 竞赛中获得 ANUGCD 中的 WA

转载 作者:行者123 更新时间:2023-11-30 04:07:30 24 4
gpt4 key购买 nike

我在 Codechef March Long Contest 的问题 GCD Condition 中获得了 WA。
请告诉我我做错了什么或代码产生错误答案的一些测试用例。

Link for the Question

我对每个素数都使用了RMQ(Range maximum Query)

for(i=0;i<limit;i++)
{
int sz=b[i].size();
if(!sz)continue;
int level=0;
cc[i].resize(sz);
for(j=0;j<sz;j++)cc[i][j].push_back(b[i][j]);//level 0
for(level=1;(1<<level)<=sz;level++)
{
for(j=0;j+(1<<level)<=sz;j++)
{
int c1=cc[i][j][level-1];
int c2=cc[i][j+(1<<(level-1))][level-1];
int mx=(a[c1]<a[c2])?c2:c1;
cc[i][j].push_back(mx);
}
}
}

首先我已经转换成如下结构:-

示例输入:- 10 6 20 15 8

(b[i]-->存储i的因子索引)

b[2]--> 1,2,3,5
b[3]--> 2,4
b[5]--> 1,3,4


现在执行 RMQ 后,它将如下所示:-



(cc[i][j][k]存储b[i][j]和b[i][j+(2^k)-1]之间最大元素的索引)

cc[2][0]-->1,2,3,5
cc[2][1]-->1,3,3
cc[2][2]-->3

cc[3][0]-->2,4
cc[3][1]-->4

cc[5][0]-->1,3,4
cc[5][1]-->3


My Code

最佳答案

100 1
88 33 23 56 97 54 8 74 43 95 91 63 38 13 7 7 52 29 6 85 70 15 52 18 78 9 85 51 28 43 4 68 75 78 75 23 32 34 48 74 28 90 2 34 652 29 662 90 45 96 93 14 73 2 99 75 81 93 31 100 19 8 75 93 39 60 41 64 88 30 100 5 84 46 28 89 20 56 30 64 3 22 78 75 75 76 2 8 203 83 32 7
95 95 97

输出是 -1 -1,但是 gcd(38, 95) = 19,所以 ans 应该是 38 1

Replacing 'break' by 'continue' on line 75 gave AC :)

关于c++ - 从 Codechef March Long 竞赛中获得 ANUGCD 中的 WA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22481593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com