結果
問題 | No.1200 お菓子配り-3 |
ユーザー |
|
提出日時 | 2021-05-23 16:45:36 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 731 ms / 4,000 ms |
コード長 | 1,531 bytes |
コンパイル時間 | 2,083 ms |
コンパイル使用メモリ | 195,668 KB |
最終ジャッジ日時 | 2025-01-21 17:46:20 |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 31 |
ソースコード
#include<bits/stdc++.h>typedef int64_t i64;typedef long double f128;using namespace std;template<typename T>void scan(T& n){cin>>n;return;}void scan(){return;}template<typename T,class... Args>void scan(T& n,Args&... args){scan(n);scan(args...);return;}template<typename T>void scan_array(T start,T end){T now=start;for(;now!=end;++now){scan(*now);}return;}template<typename T>void print(T n){cout<<n;return;}template<typename T>void println(T n){print(n);print('\n');return;}template<typename T,class... Args>void println(T n,Args... args){print(n);print(' ');println(args...);return;}template<typename T>void print_array(T start,T end){T now=start;print(*now);++now;for(;now!=end;++now){print(' ');print(*now);}print('\n');return;}vector<int> div_enum(int n){vector<int> res;for(int i=1;i*i<=n;++i){if(n%i==0){res.push_back(i);if(i*i!=n){res.push_back(n/i);}}}return res;}void solve(){int X,Y;scan(X,Y);if(X==Y){println(X-2+X%2+div_enum(X).size()-1);return;}if(X>Y){swap(X,Y);}vector<int> vec=div_enum(Y-X);int ans=0;for(size_t i=0;i<vec.size();++i){int A=vec[i]+1,n=(Y-X)/vec[i];if((X-n)%(A+1)==0&&X>n){ans+=1;}}println(ans);return;}int main(){int S;scan(S);for(int i=0;i<S;++i){solve();}return 0;}