結果

問題 No.811 約数の個数の最大化
ユーザー totori_nyaa
提出日時 2019-04-12 22:56:43
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 757 bytes
コンパイル時間 1,500 ms
コンパイル使用メモリ 166,964 KB
実行使用メモリ 5,376 KB
最終ジャッジ日時 2024-09-15 06:05:05
合計ジャッジ時間 9,600 ms
ジャッジサーバーID
(参考情報)
judge4 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 7 WA * 4 TLE * 1
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<bits/stdc++.h>
using namespace std;

int main(){
    long long n,k;
    cin>>n>>k;
    int a[n+1]={};
    long long t=n;

    for(int i=2;i<=n;i++){
        while(n%i==0){
            a[i]++;
            n/=i;
        }
    }

    int m=0;
    int ans=0;

    for(int i=t-2;i>=2;i-=2){
        int c=0;
        int cnt=1;
        int g=i;
        int b[g+1]={};

        for(int j=2;j<=g;j++){
            while(g%j==0){
                g/=j;
                b[j]++;
            }
            if(a[j]){
                c+=min(a[j],b[j]);
            }
            cnt*=b[j]+1;
        }
       
        if(c>=k && cnt>=m){
            ans=i;
            m=cnt;
            //cerr<<i<<" "<<cnt<<" "<<c<<endl;
        }
    }

    cout<<ans<<endl;

}
0