提出 #67346958
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
const int MAXN = 200000;
class Solver {
int n;
ll v[MAXN], a[MAXN];
unordered_map<ll,int> cp0, cn0;
bool mag(ll *b){
ll g = std::gcd(b[1], b[0]);
ll p = b[1]/g, q = b[0]/g;
for(int i=1;i<n;i++){
unsigned long long L = (unsigned long long)b[i]*q;
unsigned long long R = (unsigned long long)b[i-1]*p;
if(L!=R) return false;
}
return true;
}
bool pat(bool *s,int t){
for(int i=0;i<n;i++){
bool w = t<2 ? (t==0) : ((i&1)==(t&1));
if(s[i]!=w) return false;
}
return true;
}
public:
bool solve(){
cin>>n;
cp0.clear(); cn0.clear();
for(int i=0;i<n;i++){
cin>>v[i];
a[i]=llabs(v[i]);
if(v[i]>0) cp0[a[i]]++;
else cn0[a[i]]++;
}
if(n<=2) return true;
sort(a,a+n);
ll *b = new ll[n];
bool *s = new bool[n];
bool *d = new bool[n];
bool ok=false;
for(int dir=0;dir<2;dir++){
memcpy(b,a,sizeof(ll)*n);
if(dir) reverse(b,b+n);
if(!mag(b)) continue;
auto cp=cp0, cn=cn0;
for(int i=0;i<n;i++){
ll x=b[i];
if(cp[x]>0) s[i]=1, cp[x]--;
else s[i]=0, cn[x]--;
}
for(int i=0;i<n;i++) d[i]=s[n-1-i];
for(auto arr:{s,d}){
for(int t=0;t<4 && !ok;t++)
if(pat(arr,t)) ok=true;
if(ok) break;
}
if(ok) break;
}
return ok;
}
};
int main(){
int T;
cin>>T;
Solver S;
while(T--){
cout<<(S.solve()?"Yes\n":"No\n");
}
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Make Geometric Sequence |
| ユーザ | Naman____17 |
| 言語 | C++ 17 (Clang 16.0.6) |
| 得点 | 0 |
| コード長 | 1924 Byte |
| 結果 | WA |
| 実行時間 | 838 ms |
| メモリ | 15476 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||||
|---|---|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 0 / 425 | ||||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00_sample_00.txt |
| All | 00_sample_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt, 01_random_23.txt, 01_random_24.txt, 01_random_25.txt, 01_random_26.txt, 01_random_27.txt, 01_random_28.txt, 01_random_29.txt, 01_random_30.txt, 02_handmade_31.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00_sample_00.txt | AC | 1 ms | 3428 KiB |
| 01_random_01.txt | WA | 44 ms | 4796 KiB |
| 01_random_02.txt | WA | 442 ms | 11492 KiB |
| 01_random_03.txt | WA | 106 ms | 13924 KiB |
| 01_random_04.txt | WA | 93 ms | 5956 KiB |
| 01_random_05.txt | WA | 225 ms | 7724 KiB |
| 01_random_06.txt | WA | 25 ms | 4072 KiB |
| 01_random_07.txt | AC | 58 ms | 8600 KiB |
| 01_random_08.txt | WA | 93 ms | 5956 KiB |
| 01_random_09.txt | WA | 93 ms | 5944 KiB |
| 01_random_10.txt | WA | 53 ms | 4904 KiB |
| 01_random_11.txt | WA | 530 ms | 11256 KiB |
| 01_random_12.txt | WA | 94 ms | 5848 KiB |
| 01_random_13.txt | WA | 93 ms | 5928 KiB |
| 01_random_14.txt | WA | 93 ms | 6000 KiB |
| 01_random_15.txt | WA | 169 ms | 6640 KiB |
| 01_random_16.txt | WA | 93 ms | 5844 KiB |
| 01_random_17.txt | WA | 93 ms | 5912 KiB |
| 01_random_18.txt | WA | 68 ms | 5440 KiB |
| 01_random_19.txt | AC | 59 ms | 8500 KiB |
| 01_random_20.txt | WA | 42 ms | 4568 KiB |
| 01_random_21.txt | WA | 838 ms | 12396 KiB |
| 01_random_22.txt | WA | 93 ms | 5884 KiB |
| 01_random_23.txt | WA | 57 ms | 4892 KiB |
| 01_random_24.txt | WA | 383 ms | 15476 KiB |
| 01_random_25.txt | WA | 94 ms | 6000 KiB |
| 01_random_26.txt | WA | 93 ms | 5916 KiB |
| 01_random_27.txt | WA | 134 ms | 6196 KiB |
| 01_random_28.txt | WA | 468 ms | 11036 KiB |
| 01_random_29.txt | WA | 94 ms | 5812 KiB |
| 01_random_30.txt | WA | 106 ms | 5400 KiB |
| 02_handmade_31.txt | WA | 1 ms | 3588 KiB |