結果
問題 | No.2119 一般化百五減算 |
ユーザー |
![]() |
提出日時 | 2022-11-04 21:37:34 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 131 ms / 2,000 ms |
コード長 | 870 bytes |
コンパイル時間 | 4,377 ms |
コンパイル使用メモリ | 258,468 KB |
最終ジャッジ日時 | 2025-02-08 17:24:29 |
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 25 |
ソースコード
#include <stdio.h>#include <atcoder/all>#include <bits/stdc++.h>using namespace std;using namespace atcoder;using mint = modint998244353;#define rep(i,n) for (int i = 0; i < (n); ++i)#define Inf32 1000000001#define Inf64 4000000000000000001long long N,M;int main(){cin>>N>>M;vector<long long> r,m;map<long long,long long> mp;rep(i,M){long long b,c;cin>>b>>c;c += b * 1000000;c %= b;if(mp.count(b)){if(mp[b]!=c){cout<<"NaN"<<endl;return 0;}}mp[b] = c;}vector<pair<long long,long long>> rs;for(auto a:mp){rs.emplace_back(a.first,a.second);}reverse(rs.begin(),rs.end());for(long long i=0;i<=N;i++){bool f = true;rep(j,rs.size()){if(i%rs[j].first!=rs[j].second){f = false;break;}}if(f){cout<<i<<endl;return 0;}}cout<<"NaN"<<endl;return 0;}