結果
問題 | No.1544 [Cherry 2nd Tune C] Synchroscope |
ユーザー |
|
提出日時 | 2021-06-11 21:46:04 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 293 ms / 2,000 ms |
コード長 | 2,162 bytes |
コンパイル時間 | 963 ms |
コンパイル使用メモリ | 97,312 KB |
最終ジャッジ日時 | 2025-01-22 05:41:20 |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 48 |
ソースコード
//#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){vector<int> vis(m);fj(0,m){if(a[i]==b[j]) vis[j]=1;}for(int moves=0;moves<=5001;moves++){if(vis[(moves*n+i)%m]){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)