結果
| 問題 |
No.1006 Share an Integer
|
| コンテスト | |
| ユーザー |
cureskol
|
| 提出日時 | 2020-04-13 22:15:28 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 1,179 ms / 2,000 ms |
| コード長 | 591 bytes |
| コンパイル時間 | 1,625 ms |
| コンパイル使用メモリ | 170,352 KB |
| 実行使用メモリ | 119,980 KB |
| 最終ジャッジ日時 | 2024-09-25 10:54:25 |
| 合計ジャッジ時間 | 13,026 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 19 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
vector<int> yaku[2234567];
int f(int a){
int cnt=1;
for(int p:yaku[a])cnt*=p+1;
return a-cnt;
}
template<typename T>
void chmin(T &a,T b){
if(a>b)a=b;
}
signed main(){
int x;cin>>x;
for(int i=2;i<=x;i++){
if(yaku[i].size())continue;
for(int j=i;j<=x;j+=i){
int tmp=j,cnt=0;
while(tmp%i==0){
tmp/=i;
cnt++;
}
yaku[j].push_back(cnt);
}
}
int ans=1e9;
for(int a=1;a<x;a++)chmin(ans,abs(f(a)-f(x-a)));
for(int a=1;a<x;a++)if(abs(f(a)-f(x-a))==ans)cout<<a<<" "<<x-a<<endl;
}
cureskol