QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#629342 | #9426. Relearn through Review | KIRITO1211# | WA | 157ms | 3856kb | C++23 | 1.3kb | 2024-10-11 10:50:58 | 2024-10-11 10:51:05 |
Judging History
answer
#pragma GCC optimize("Ofast")
#include <bits/stdc++.h>
#define int long long
using ll = long long;
using i64 = long long;
const int mod = 998244353;
// #define DEBUG
// 线段树合并信息
void solve() {
int n,k;std::cin>>n>>k;
std::vector<int> a(n + 1);
for(int i = 1;i <= n;i++) std::cin>>a[i];
std::vector<int> b(n + 1);
for(int i = 1;i <= n;i++) b[i] = a[i] + k;
std::vector<int> pre(n + 1),suf(n + 2);
for(int i = 1;i <= n;i++) pre[i] = std::__gcd(pre[i - 1],a[i]);
for(int i = n;i >= 1;i--) suf[i] = std::__gcd(suf[i + 1],a[i]);
int last = 1;
int nowg = 0;
int ans = 0;
for(int i = 1;i <= n;i++){
int glr = std::__gcd(pre[last],suf[i]);
int glR = std::__gcd(pre[last], suf[i + 1]);
int gLr = std::__gcd(pre[last - 1], suf[i]);
int g1 = std::gcd(nowg, b[i]),g2 = std::gcd(nowg, b[last]);
ans = std::max({ans, std::__gcd(glr, nowg), std::__gcd(glR, g1), std::__gcd(gLr, g2)});
if(std::__gcd(b[last], b[i]) == 1) last = i,nowg = 0;
}
std::cout<<ans<<'\n';
}
signed main() {
std::ios::sync_with_stdio(false);
std::cin.tie(0);
int t = 1;
// int res = 0;
// for(int i = 1;i <= 1145;i++) res |= i;
// std::cerr<<res<<'\n';
std::cin>>t;
while (t--) {
solve();
}
return 0;
}
详细
Test #1:
score: 100
Accepted
time: 0ms
memory: 3808kb
input:
2 6 2 5 3 13 8 10 555 3 0 3 6 9
output:
5 3
result:
ok 2 lines
Test #2:
score: -100
Wrong Answer
time: 157ms
memory: 3856kb
input:
100000 1 608611451460421713 33155506392034032 1 743116173559300609 6138108577573005 7 364454564010802125 657035115675878115 657035115675878115 657035115675878115 657035115675878115 657035115675878115 292580551665075990 657035115675878115 4 316648374341335221 365788422120542814 182894211060271407 731...
output:
33155506392034032 6138108577573005 657035115675878115 365788422120542814 880411769063535667 98423435849394582 367396693731364762 1 484915690810412536 878097339332572161 149180825015886938 361813583202892479 915781395066183375 37337367838628559 632093288650732211 377121713907330928 366861733803058826...
result:
wrong answer 1st lines differ - expected: '641766957852455745', found: '33155506392034032'