結果

問題 No.1544 [Cherry 2nd Tune C] Synchroscope
ユーザー inksamuraiinksamurai
提出日時 2021-06-11 22:22:47
言語 C++14
(gcc 13.2.0 + boost 1.83.0)
結果
AC  
実行時間 1,385 ms / 2,000 ms
コード長 2,128 bytes
コンパイル時間 3,125 ms
コンパイル使用メモリ 166,668 KB
実行使用メモリ 4,384 KB
最終ジャッジ日時 2023-08-21 12:58:10
合計ジャッジ時間 7,180 ms
ジャッジサーバーID
(参考情報)
judge15 / judge11
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 2 ms
4,376 KB
testcase_01 AC 1 ms
4,380 KB
testcase_02 AC 1 ms
4,380 KB
testcase_03 AC 9 ms
4,380 KB
testcase_04 AC 19 ms
4,380 KB
testcase_05 AC 13 ms
4,376 KB
testcase_06 AC 16 ms
4,376 KB
testcase_07 AC 15 ms
4,380 KB
testcase_08 AC 11 ms
4,380 KB
testcase_09 AC 3 ms
4,376 KB
testcase_10 AC 15 ms
4,376 KB
testcase_11 AC 10 ms
4,376 KB
testcase_12 AC 8 ms
4,376 KB
testcase_13 AC 3 ms
4,380 KB
testcase_14 AC 20 ms
4,380 KB
testcase_15 AC 23 ms
4,380 KB
testcase_16 AC 9 ms
4,380 KB
testcase_17 AC 5 ms
4,376 KB
testcase_18 AC 2 ms
4,376 KB
testcase_19 AC 4 ms
4,380 KB
testcase_20 AC 20 ms
4,376 KB
testcase_21 AC 5 ms
4,376 KB
testcase_22 AC 3 ms
4,380 KB
testcase_23 AC 32 ms
4,376 KB
testcase_24 AC 31 ms
4,380 KB
testcase_25 AC 31 ms
4,376 KB
testcase_26 AC 31 ms
4,376 KB
testcase_27 AC 32 ms
4,376 KB
testcase_28 AC 31 ms
4,376 KB
testcase_29 AC 31 ms
4,376 KB
testcase_30 AC 31 ms
4,376 KB
testcase_31 AC 31 ms
4,376 KB
testcase_32 AC 31 ms
4,380 KB
testcase_33 AC 1,385 ms
4,380 KB
testcase_34 AC 2 ms
4,376 KB
testcase_35 AC 1 ms
4,376 KB
testcase_36 AC 2 ms
4,380 KB
testcase_37 AC 2 ms
4,376 KB
testcase_38 AC 31 ms
4,376 KB
testcase_39 AC 30 ms
4,380 KB
testcase_40 AC 31 ms
4,380 KB
testcase_41 AC 30 ms
4,376 KB
testcase_42 AC 30 ms
4,380 KB
testcase_43 AC 29 ms
4,380 KB
testcase_44 AC 29 ms
4,380 KB
testcase_45 AC 31 ms
4,384 KB
testcase_46 AC 30 ms
4,376 KB
testcase_47 AC 30 ms
4,376 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: 関数 ‘int main()’ 内:
main.cpp:87:38: 警告: structured bindings only available with ‘-std=c++17’ or ‘-std=gnu++17’ [-Wc++17-extensions]
   87 |                                 auto [x,y] = crt({ii,jj},{n,m});
      |                                      ^

ソースコード

diff #

#include <cmath>
#include <deque>
#include <algorithm>
#include <iterator>
#include <list>
#include <tuple>
#include <map>
#include <unordered_map>
#include <queue>
#include <set>
#include <unordered_set>
#include <stack>
#include <string>
#include <vector>
#include <fstream>
#include <iostream>
#include <functional>
#include <numeric>
#include <iomanip> 
#include <stdio.h>
#include <assert.h>
#include <atcoder/all>
//eolibraries
#define lnf 3999999999999999999
#define inf 999999999
#define PI 3.14159265359
#define endl "\n"
#define fi first
#define se second
#define pb push_back
#define eb emplace_back
#define ll long long
#define all(c) (c).begin(),(c).end()
#define sz(c) (int)(c).size()
#define mkp(a,b) make_pair(a,b)
#define make_unique(a) sort(all(a)),a.erase(unique(all(a)),a.end())
#define rsz(a,n) a.resize(n)
#define pii pair <int,int>
#define rep(i,n) for(int i = 0 ; i < n ; i++) 
#define drep(i,n) for(int i = n-1 ; i >= 0 ; i--)
#define crep(i,x,n) for(int i = x ; i < n ; i++)
#define vi vector <int> 
#define vec(...) vector<__VA_ARGS__>
#define rsz(a,n) a.resize(n)
#define rszv(a,n,v) a.resize(n,v)
#define fcin ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0);
//eodefine
using namespace std;
using namespace atcoder;

const int max_n = 103002;

// tuple <int,int,int> exc_gcd(int a , int b){
// 	if(b==0) {
// 		return {1,0,a};
// 	}else{
// 		int x , y , g;
// 		tie(x,y,g) = exc_gcd(b,a%b);
// 		return {y , x - y*(a/b) , g};
// 	}
// }

// int gcd(int a,int b){
// 	return b==0?a:gcd(b,a%b);
// }

int n,m;
vi a,b;
int main(){
fcin;
	cin>>n>>m;
	rep(i,n){int x;cin>>x;a.pb(x);}
	rep(i,m){int x;cin>>x;b.pb(x);}
 	
	ll ans=lnf;
	// auto [x,y] = crt({0,1},{n,m});
 	
 	// cout<<x<<" "<<y<<"\n";

 	rep(i,n) {
 		rep(j,m) {
 			int ai=a[i],bj=b[j];
 			int ii=(i+1)%n,jj=(j+1)%m;
 			if(ai==bj) {

 				// if(gcd(n,m)%abs(jj-ii)!=0)continue;
 				auto [x,y] = crt({ii,jj},{n,m});
 				// if(x==3)cout<<i<<" "<<j<<"\n";
 				if(y==0)continue;
 				if(x==0)x+=y;
 				ans=min(ans,x);
 			}
 		}
 	}
 	
 	if(ans==lnf){
 		cout<<"-1\n";
 	}else{
 		cout<<ans<<"\n";
 	}
/*
*/
 
    return 0;   
}
0