Submission #2287076


Source Code Expand

//#pragma GCC optimize ("O3")
//#pragma GCC target ("tune=native")
//#pragma GCC target ("avx")
//#include <bits/stdc++.h>
#include <algorithm>
#include <climits>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <iostream>
#include <sstream>
#include <functional>
#include <map>
#include <set>
#include <unordered_map>
#include <unordered_set>
#include <bitset>
#include <string>
#include <cstring>
#include <vector>
#include <queue>
#include <stack>
#include <deque>
#include <list>
#include <numeric>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef pair<ll,ll> P;
typedef pair<P,ll> PPI;
typedef pair<ll,P> PIP;
typedef vector<ll> vl;
typedef vector<vl> vvl;
typedef vector<P> vp;
#define PQ(T) priority_queue<T,vector<T>,greater<T>>
#define PQ2(T) priority_queue<T>
const double PI = 3.14159265358979323846;
const double EPS = 1e-12;
const ll INF = 1LL<<29;
const ll mod = 1e9+7;
#define REP(i,a,b) for(ll (i)=a;(i)<(ll)(b);++(i))
#define rep(i,n) REP(i,0,n)
#define rep1(i,n) REP(i,1,n+1)
#define repd(i,n,d) for(ll (i)=0;(i)<(ll)(n);(i)+=(d))
#define all(v) (v).begin(), (v).end()
#define pb(x) push_back(x)
#define mp(x,y) make_pair((x),(y))
#define mset(m,v) memset((m),(v),sizeof(m))
#define chmin(x,y) ((x)=min((x),(y)))
#define chmax(x,y) ((x)=max((x),(y)))
#define fst first
#define snd second
#define UNIQUE(x) (x).erase(unique(all(x)),(x).end())
#define DEBUG(x) cerr<<"line ("<<__LINE__<<")  "<<#x<<": "<<x<<endl;
template<class T> ostream &operator<<(ostream &os, const vector<T> &v){int n=v.size();rep(i,n)os<<v[i]<<(i==n-1?"":" ");return os;}
#define INIT std::ios::sync_with_stdio(false);std::cin.tie(0);

#define N 55
ll n;
ll a[N], b[N], as[N];
bool f[N][N][N];
ll g[N][N];

int main(){
	cin>>n;
	rep(i, n) cin>>a[i];
	rep(i, n) cin>>b[i];
	rep(i, N) rep1(j, N-1) rep(k, N) f[i][j][k] = i%j==k;
	rep(i, N) fill(g[i], g[i]+N, INF);
	rep(i, N) rep(k, N) rep(j, N) if(f[i][j][k]){ g[i][k] = j; break; }
	rep(i, N) g[i][i] = 0;
	rep(j, N) rep(i, N) rep(k, N) chmin(g[i][k], max(g[i][j], g[j][k]));
	rep(i, n) as[i] = 1LL<<a[i];
	ll res = 0;
	while(true){
		bool flag = true;
		ll mx = -1;
		rep(i, n){
			if(!(1&(as[i]>>b[i]))) flag = false;
			ll mx2 = INF;
			rep(j, N){
				if(1&(as[i]>>j)) chmin(mx2, g[j][b[i]]);
			}
			chmax(mx, mx2);
		}
		if(flag) break;
		if(mx==INF){
			res = -1;
			break;
		}
		rep(i, n) rep(j, N) if(1&(as[i]>>j)) as[i] |= 1LL<<(j%mx);
		res += 1LL<<mx;
	}
	cout<<res<<endl;
	return 0;
}

Submission Info

Submission Time
Task C - Remainder Game
User Lepton
Language C++14 (GCC 5.4.1)
Score 700
Code Size 2623 Byte
Status AC
Exec Time 2 ms
Memory 384 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 700 / 700
Status
AC × 5
AC × 58
Set Name Test Cases
Sample s1.txt, s2.txt, s3.txt, s4.txt, s5.txt
All 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, 40.txt, 41.txt, 42.txt, 43.txt, 44.txt, 45.txt, 46.txt, 47.txt, 48.txt, 49.txt, 50.txt, 51.txt, 52.txt, 53.txt, s1.txt, s2.txt, s3.txt, s4.txt, s5.txt
Case Name Status Exec Time Memory
01.txt AC 2 ms 384 KiB
02.txt AC 2 ms 384 KiB
03.txt AC 2 ms 384 KiB
04.txt AC 2 ms 384 KiB
05.txt AC 2 ms 384 KiB
06.txt AC 2 ms 384 KiB
07.txt AC 2 ms 384 KiB
08.txt AC 2 ms 384 KiB
09.txt AC 2 ms 384 KiB
10.txt AC 2 ms 384 KiB
11.txt AC 2 ms 384 KiB
12.txt AC 2 ms 384 KiB
13.txt AC 2 ms 384 KiB
14.txt AC 2 ms 384 KiB
15.txt AC 2 ms 384 KiB
16.txt AC 2 ms 384 KiB
17.txt AC 2 ms 384 KiB
18.txt AC 2 ms 384 KiB
19.txt AC 2 ms 384 KiB
20.txt AC 2 ms 384 KiB
21.txt AC 2 ms 384 KiB
22.txt AC 2 ms 384 KiB
23.txt AC 2 ms 384 KiB
24.txt AC 2 ms 384 KiB
25.txt AC 2 ms 384 KiB
26.txt AC 2 ms 384 KiB
27.txt AC 2 ms 384 KiB
28.txt AC 2 ms 384 KiB
29.txt AC 2 ms 384 KiB
30.txt AC 2 ms 384 KiB
31.txt AC 2 ms 384 KiB
32.txt AC 2 ms 384 KiB
33.txt AC 2 ms 384 KiB
34.txt AC 2 ms 384 KiB
35.txt AC 2 ms 384 KiB
36.txt AC 2 ms 384 KiB
37.txt AC 2 ms 384 KiB
38.txt AC 2 ms 384 KiB
39.txt AC 2 ms 384 KiB
40.txt AC 2 ms 384 KiB
41.txt AC 2 ms 384 KiB
42.txt AC 2 ms 384 KiB
43.txt AC 2 ms 384 KiB
44.txt AC 2 ms 384 KiB
45.txt AC 2 ms 384 KiB
46.txt AC 2 ms 384 KiB
47.txt AC 2 ms 384 KiB
48.txt AC 2 ms 384 KiB
49.txt AC 2 ms 384 KiB
50.txt AC 2 ms 384 KiB
51.txt AC 2 ms 384 KiB
52.txt AC 2 ms 384 KiB
53.txt AC 2 ms 384 KiB
s1.txt AC 2 ms 384 KiB
s2.txt AC 2 ms 384 KiB
s3.txt AC 2 ms 384 KiB
s4.txt AC 2 ms 384 KiB
s5.txt AC 2 ms 384 KiB