結果
問題 |
No.443 GCD of Permutation
|
ユーザー |
![]() |
提出日時 | 2025-01-26 11:26:27 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,039 bytes |
コンパイル時間 | 3,578 ms |
コンパイル使用メモリ | 274,660 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2025-01-26 11:26:32 |
合計ジャッジ時間 | 4,844 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 19 WA * 9 |
ソースコード
#include<bits/stdc++.h> using namespace std; typedef long long ll; string n; ll a[12]; ll lcm(ll a,ll b){ return a*b/__gcd(a,b); } int main(){ // freopen("gcd.in","r",stdin); // freopen("gcd.out","w",stdout); cin>>n; char c=n[0]; ll sz=n.size(),sum=0; for(ll i=0;i<sz;i++){ a[n[i]-'0']++; } ll f0=1,f2=2,f3=0,f4=4,f5=5,f9=0; ll num=0; for(ll i=0;i<=9;i++){ if(a[i]!=0){ num++; } } if(num==2&&a[0]!=0){ ll fst=0; for(ll i=1;i<=9;i++){ if(a[i]!=0){ fst=i; } } cout<<fst; return 0; } for(ll i=1;i<sz;i++){ if(n[i]!=c){ f0=0; break; } } if(f0){ cout<<n; return 0; } for(ll i=0;i<sz;i++){ sum+=n[i]-'0'; } if(sum%9==0)f9=9; if(sum%3==0)f3=3; for(int i=0;i<sz;i++){ if((n[i]-'0')%2){ f2=0; break; } } for(int i=0;i<sz;i++){ if((n[i]-'0')%4){ f4=0; break; } } for(int i=0;i<sz;i++){ if((n[i]-'0')%5){ f5=0; break; } } ll L=1; if(f2)L=lcm(L,f2); if(f3)L=lcm(L,f3); if(f4)L=lcm(L,f4); if(f5)L=lcm(L,f5); if(f9)L=lcm(L,f9); cout<<L<<endl; }