結果
問題 |
No.1544 [Cherry 2nd Tune C] Synchroscope
|
ユーザー |
|
提出日時 | 2021-06-11 21:41:37 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 2,169 bytes |
コンパイル時間 | 1,116 ms |
コンパイル使用メモリ | 101,896 KB |
最終ジャッジ日時 | 2025-01-22 05:38:24 |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 38 WA * 10 |
ソースコード
//#pragma GCC optimize ("O3") //#pragma GCC target ("sse4") //#pragma GCC optimize("Ofast") //#pragma GCC optimize("Ofast,unroll-loops") //#pragma GCC target("avx,avx2,fma") #include <algorithm> #include <array> #include <cassert> //#include <chrono> #include <cmath> //#include <cstring> //#include <functional> //#include <iomanip> #include <iostream> #include <map> //#include <numeric> //#include <queue> //#include <random> #include <set> #include <vector> using namespace std; #define FAST ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0) //#include <ext/pb_ds/assoc_container.hpp> //#include <ext/pb_ds/tree_policy.hpp> //using namespace __gnu_pbds; #define int long long #define ll int #define all(a) a.begin(),a.end() #define rev(a) a.rbegin(),a.rend() //typedef tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set; //less_equal for multiset #define ar array #define pb push_back #define fi(a,b) for(int i=a;i<(b);i++) #define fj(a,b) for(int j=a;j<(b);j++) #define fk(a,b) for(int k=a;k<(b);k++) const double pi=acosl(-1); void solve() { int n,m; cin>>n>>m; vector<int> a(n); fi(0,n) { cin>>a[i]; } vector<int> b(m); fi(0,m) { cin>>b[i]; } int ans=1e18; fi(0,n) { set<int> s; fj(0,m) { if(a[i]==b[j]) s.insert(j); } for(int moves=0;moves<=2000;moves++) { if(s.find((moves*n+i)%m)!=s.end()) { ans=min(ans,moves*n+i+1); } } } if(ans==1e18) ans=-1; cout<<ans<<'\n'; } signed main() { FAST; int tt=1; //cin>>tt; while(tt--) { solve(); } } //int dx[] = {+1,-1,+0,+0,-1,-1,+1,+1}; // Eight Directions //int dy[] = {+0,+0,+1,-1,+1,-1,-1,+1}; // Eight Directions //int dx[]= {-2,-2,-1,1,-1,1,2,2}; // Knight moves //int dy[]= {1,-1,-2,-2,2,2,-1,1}; // Knight moves // For (a^b)%mod, where b is large, replace b by b%(mod-1)..{because we solve this by introducing log ..do same for general cases} // a+b = (a|b)+(a&b) // a+b = 2*(a&b)+(a^b)