Submission #4963250
Source Code Expand
/*
`-:://:::-
`//:-------:/:`
.+:--.......--:+`
`+:--..`````..--//`
.o:--..`` ``..--:o`
.o:--...```..---+/`
`/y+o/---....---:+o.
`...````-os+/:---:/+o/--.`
`-/+++++/:. `...` :h+d+oooo+/+-` ...
`/++//:::://++-`....` -.`//````````:` `..`
`o+/::------://o/` `-` -. -` `..`
`---.-o/:./o/::-..``..-ЗАПУСКАЕМ .. .. -` `... ``..``
`....o+:-++/:--.```..-://s. `-` .- -` `-o: .-//::::/:-`
`:s+/:--....-::/+s-` .- `- -` -///:--------:/:`
./s+//:::::://oo-``..НЕЙРОННУЮ: СЕТЬ:::::::-`РАБОТЯГИ `+:--........--:/`
.:ooo+++++osso-` `.:-...`/` ./::-------:/:` -` :+--..``````.--:+:...-+:-`
`.-/+++++/+-.-` -. ``:so:/:--.......--:+` `-```````o+/+--..`````..--:o/-..:s+:.
```````:``.. `-` -` `+:--..`````..--/+-.../.`````..-o:--.......---/o. `
`: `:- -. .o:--..`` ``..--:o` `-` `:o+:--------:+o-`
`-`-... .. .o/--...```..--:+/` `-` `oy/so/////++o/.`
-/` `-` `- ``+s/o/:---...---:++. `-` .-../d://///:-.`
`.---..``-..- .-/..`````-oo+/:::::/+o+- `-``-` `-. ````
`:++++/+++++- ..``.-/:` /y-:/++o++/:.`..` ./. `-
-++/::::::://+/..:-``:` .. `-.` ```.``` `..` `..`-` `-
`` -o//:--....-::/++` -.-` `-`.-` `..`..` `-.-
-----ss+:++/:--.```..-://s. /. `:: `-:. ./`
`````/:..+o/::-..``.--:/+s. ..-` `-``-` ..` `-` `-`-`
`-s+/::-----::/+oo---``-` .. .:- ``` .-` .-.- `-`
`:oo+//::://+os/..:`..-/:` :y.-:::::::.`.-` ./-` `-`
`./+oooooooo+/.`- .-:...`.. .//:-------://` `- `..` `:.
``.-::::-.``-/` `-` `- `oo:+:--.......--:/` `- `.:--h.``..```
-.-`.- .- `+:--..`````..--//` `- /s-//::::::::.
-` `/- .. .o:--..`` ``..--:o.```.- `//:--------://`
-` .-`.-` -.`-o/--...```..--:+/.``-:....``:-.+:--....`...--:+`
..`-. `-. ``:os:o/:---...---:++. `- ``///+:-..``````.--:+-````-.`
`.:///////.-` .:-..` -``-+o+/:::::/+o/. `- `:+:-..`````..--:o/:--/ys+-
`-++///////+o/. ``....`-. :` `.:++++++/:.` .- -o/---......---/o. `.`
`++//:-----::/+o:..` .-` : ``````` .- `+so+:--------:++-`
`````:-``:o/::-..`..--:/+o` -. `- .- `../../+o+////+o+:.`
-----syo/o+/:--.```..-://s. .-` `- .- `... ``-:////:-``
.` `/s//:--....-::/+s. -. `-` .- `..`
.+o+/:::--:://+s/-..` .::+y ``` .- `..`
./oo++////+oso-` `.... :y-+:::::::/` ...
`.:+oooooo/-` `....-. .//:-------:/:-.`
``...`` /+:+:--.......--:+`
`+:--..`````..--//`
.o:--..`` ``..--:o`
.+/--...```..--:+/`
`-o/:---...---:++.
`-+o+/:---:/+o/.
`.:+oooo+/-.`
``````
*/
#ifdef aimbot
#pragma comment(linker, "/stack:200000000")
#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#pragma GCC optimize("unroll-loops")
#endif
#include <iostream>
#include <vector>
#include <algorithm>
#include <cmath>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <map>
#include <set>
#include <queue>
#include <ostream>
#include <istream>
#include <typeinfo>
#include <iomanip>
#include <cstdio>
#include <cstdlib>
#include <cassert>
#include <limits>
#include <fstream>
#include <array>
#include <list>
#include <bitset>
#include <functional>
#include <random>
#include <cstring>
#include <chrono>
#define random escape__from__random__aetuhoetnuhshe
#define mt make_tuple
#define x first
#define y second
#define pb push_back
#define ppb pop_back
#define mp make_pair
#define umap unordered_map
#define uset unordered_set
#define elif else if
#define len(v) ((int)v.size())
#define f(i, n) for (int i = 0; i < (n); i++)
#define rof(i, n) for (int i = ((n) - 1); i >= 0; i--)
#define apply(v, act) for (auto &x : v) { act; }
#define log(args...) {string s = #args;deque<string> deq;\
string buf = "";int bal = 0;for (char c : s) {\
if (c == '(' || c == '[' || c == '{') {bal++;\
} else if (c == ')' || c == ']' || c == '}') {\
bal--;} else {if (bal == 0) {if (c == ',') {\
deq.pb(buf);buf = "";} else {if (c != ' ') {\
buf += c;}}}}}if (!buf.empty()) {deq.pb(buf);}\
smart_io::precall_print();smart_io::_print(deq, args);}
inline int min(const int &x, const int &y) { return (((y-x)>>(32-1))&(x^y))^x; }
inline int max(const int &x, const int &y) { return (((y-x)>>(32-1))&(x^y))^y; }
inline long long min(const long long &x, const long long &y) { return (((y-x)>>(64-1))&(x^y))^x; }
inline long long max(const long long &x, const long long &y) { return (((y-x)>>(64-1))&(x^y))^y; }
#define print \
smart_io::precall_print(); \
cout,
#define scan cin,
#ifdef fast_allocator
const int MAXMEM = 200 * 1000 * 1024;
char _memory[MAXMEM];
size_t _ptr = 0;
void* operator new(size_t _x) { _ptr += _x; assert(_ptr < MAXMEM); return _memory + _ptr - _x; }
void operator delete (void*) noexcept {}
#endif
using namespace std;
char string_in_buffer[(int)260];
void fast_scan(int &x) { scanf("%d", &x); }
void fast_scan(long long &x) { scanf("%lld", &x); }
void fast_scan(unsigned long long &x) { scanf("%llu", &x); }
void fast_scan(double &x) { scanf("%lf", &x); }
void fast_scan(long double &x) { scanf("%Lf", &x); }
void fast_scan(char &x) {
scanf("%c", &x);
if (x == '\n') {
fast_scan(x);
}
}
void fast_scan(string &x) {
scanf("%s", string_in_buffer);
x = string(string_in_buffer);
}
template<class TFirst, class TSecond>
void fast_scan(pair<TFirst, TSecond> &p) {
fast_scan(p.first);
fast_scan(p.second);
}
template <class T>
void fast_scan(vector<T> &v) {
for (auto &x : v) fast_scan(x);
}
void fast_print(const int &x) { printf("%d", x); }
void fast_print(const unsigned int &x) { printf("%u", x); }
void fast_print(const long long &x) { printf("%lld", x); }
void fast_print(const unsigned long long &x) { printf("%llu", x); }
void fast_print(const double &x) { printf("%.15lf", x); }
void fast_print(const long double &x) { printf("%.15Lf", x); }
void fast_print(const char &x) { printf("%c", x); };
void fast_print(const string &x) { printf("%s", x.c_str());}
void fast_print(const char v[]) { fast_print((string)v); }
template<class TFirst, class TSecond>
void fast_print(const pair<TFirst, TSecond> &p) {
fast_print(p.first);
fast_print(' ');
fast_print(p.second);
}
template <class T>
void fast_print(const vector<T> &v) {
if (v.empty()) return;
fast_print(v[0]);
for (int i = 1; i < v.size(); i++) {
fast_print(' ');
fast_print(v[i]);
}
}
template <class T>
void fast_print(const vector<vector<T>> &v) {
if (v.empty()) return;
fast_print(v[0]);
for (int i = 1; i < v.size(); i++) {
fast_print('\n');
fast_print(v[i]);
}
}
template <class T>
void fast_print(const T &v) {
for (const auto &x : v) {
fast_print(x);
fast_print(' ');
}
}
using namespace std;
namespace smart_io {
string print_start = "";
string sep = " ";
bool first_print = false;
void precall_print() {
fast_print(print_start);
print_start = "\n";
first_print = true;
}
void _print(deque<string>) {}
template<class T, class... Args>
void _print(deque<string> names, T elem, Args... args) {
if (!first_print) {
fast_print("\n");
} else {
first_print = false;
}
fast_print(names.front());
fast_print(" = ");
fast_print(elem);
names.pop_front();
_print(names, args...);
}
} //namespace smart_io
template <class T>
ostream &operator,(ostream &os, const T &object) {
if (!smart_io::first_print) {
fast_print(smart_io::sep);
} else {
smart_io::first_print = false;
}
fast_print(object);
return os;
}
template <class T>
istream &operator,(istream &is, T &object) {
fast_scan(object);
return is;
}
namespace random {
using namespace std::chrono;
mt19937 rng(duration_cast< milliseconds >(
system_clock::now().time_since_epoch()
).count());
uniform_real_distribution<> prob_dist(0.0, 1.0);
};
#define int long long
namespace typedefs {
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;
typedef long double ld;
}
namespace numbers_operation {
template<class T>
T floor_mod(T a, T b) {
if (a >= 0 && b >= 0) return a % b;
if (a <= 0 && b <= 0) return a % b;
return abs(b) - (abs(a) % abs(b));
}
}
using namespace numbers_operation;
using namespace typedefs;
using namespace random;
vector<vector<int>> all(int a, int b) {
if (a == b) return {{}};
vector<vector<int>> cur;
for (int x = b + 1; x <= a; x++) {
for (vector<int> t : all(a % x, b)) {
t.pb(x);
cur.pb(t);
}
}
return cur;
}
signed main(signed argc, char *argv[]) {
// print all(42, 7);
// return 0;
// for (int i = 0; i <= 50; i++) {
// for (int j = 0; j <= 50; j++) {
// if (len(all(i, j)) >= 2) {
// int _min = 1e9;
// for (auto x : all(i, j)) {
// _min = min(_min, *max_element(x.begin(), x.end()));
// }
// if (_min >= 25) {
// print i, j;
// }
// }
// }
// }
// return 0;
int n;
scan n;
vector<int> a(n), b(n);
vector<vector<int>> c(n);
scan a, b;
int offset = 0;
f(i, n) {
if (b[i] > a[i]) {
print -1;
return 0;
}
if (len(all(a[i], b[i])) == 1) {
vector<int> t = all(a[i], b[i])[0];
for (int x : (t)) {
offset = (offset | (1LL << x));
}
}
for (vector<int> x : all(a[i], b[i])) {
int mask = 0;
for (int y : x) {
mask = (mask | (1LL << y));
}
c[i].pb(mask);
}
}
int cost = (1LL << 52) - 1;
for (int j = 51; j > -1; j--) {
int mask = (cost ^ (1LL << j));
bool fail = false;
for (int j = 0; j < n; j++) {
bool found = false;
for (int sub : c[j]) {
if (((mask) & sub) == sub) {
found = true;
break;
}
}
if (!found) {
fail = true;
break;
}
}
if (!fail) {
cost = mask;
}
}
if (cost == (1LL << 52) - 1) {
print -1;
return 0;
}
print cost;
}
Submission Info
Submission Time
2019-04-14 00:07:08+0900
Task
C - Remainder Game
User
Jatana
Language
C++14 (GCC 5.4.1)
Score
700
Code Size
12894 Byte
Status
AC
Exec Time
22 ms
Memory
512 KB
Compile Error
./Main.cpp: In function ‘void fast_scan(int&)’:
./Main.cpp:138:41: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
void fast_scan(int &x) { scanf("%d", &x); }
^
./Main.cpp: In function ‘void fast_scan(long long int&)’:
./Main.cpp:139:49: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
void fast_scan(long long &x) { scanf("%lld", &x); }
^
./Main.cpp: In function ‘void fast_scan(long long unsigned int&)’:
./Main.cpp:140:58: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
void fast_scan(unsigned long long &x) { scanf("%llu", &x); }
^
./Main.cpp: In function ‘void fast_scan(double&)’:
./Main.cpp:141:45: warning: ignoring return valu...
Judge Result
Set Name
Sample
All
Score / Max Score
0 / 0
700 / 700
Status
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
1 ms
256 KB
02.txt
AC
1 ms
256 KB
03.txt
AC
2 ms
256 KB
04.txt
AC
1 ms
256 KB
05.txt
AC
1 ms
256 KB
06.txt
AC
8 ms
384 KB
07.txt
AC
15 ms
512 KB
08.txt
AC
11 ms
512 KB
09.txt
AC
22 ms
512 KB
10.txt
AC
1 ms
256 KB
11.txt
AC
1 ms
256 KB
12.txt
AC
1 ms
256 KB
13.txt
AC
1 ms
256 KB
14.txt
AC
3 ms
384 KB
15.txt
AC
5 ms
384 KB
16.txt
AC
3 ms
384 KB
17.txt
AC
5 ms
384 KB
18.txt
AC
1 ms
256 KB
19.txt
AC
3 ms
384 KB
20.txt
AC
2 ms
256 KB
21.txt
AC
1 ms
256 KB
22.txt
AC
7 ms
384 KB
23.txt
AC
6 ms
384 KB
24.txt
AC
5 ms
384 KB
25.txt
AC
5 ms
384 KB
26.txt
AC
17 ms
512 KB
27.txt
AC
9 ms
384 KB
28.txt
AC
4 ms
384 KB
29.txt
AC
5 ms
384 KB
30.txt
AC
10 ms
384 KB
31.txt
AC
7 ms
384 KB
32.txt
AC
2 ms
256 KB
33.txt
AC
4 ms
384 KB
34.txt
AC
1 ms
256 KB
35.txt
AC
3 ms
256 KB
36.txt
AC
4 ms
384 KB
37.txt
AC
4 ms
384 KB
38.txt
AC
3 ms
384 KB
39.txt
AC
6 ms
384 KB
40.txt
AC
3 ms
384 KB
41.txt
AC
7 ms
384 KB
42.txt
AC
1 ms
256 KB
43.txt
AC
2 ms
256 KB
44.txt
AC
3 ms
256 KB
45.txt
AC
3 ms
256 KB
46.txt
AC
2 ms
256 KB
47.txt
AC
5 ms
384 KB
48.txt
AC
2 ms
256 KB
49.txt
AC
1 ms
256 KB
50.txt
AC
1 ms
256 KB
51.txt
AC
1 ms
256 KB
52.txt
AC
1 ms
256 KB
53.txt
AC
4 ms
256 KB
s1.txt
AC
1 ms
256 KB
s2.txt
AC
1 ms
256 KB
s3.txt
AC
1 ms
256 KB
s4.txt
AC
1 ms
256 KB
s5.txt
AC
1 ms
256 KB