# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
405759 |
2021-05-16T21:31:02 Z |
abdzag |
Toys (CEOI18_toy) |
C++17 |
|
5000 ms |
226512 KB |
#include<bits/stdc++.h>
#include<unordered_map>
#define rep(i,a,b) for(int i=int(a);i<int(b);i++)
#define rrep(i,a,b) for(int i=int(a);i>int(b);i--)
#define all(v) v.begin(),v.end()
#define trav(a,v) for(auto&a:v)
#define sz(a) a.size()
typedef long double ld;
using namespace std;
const long long inf = 1e15;
typedef long long ll;
typedef unsigned long long ull;
vector<multiset<ll>> res;
int main() {
cin.sync_with_stdio(false);
vector<ll> primes;
map<ll, bool> is_prime;
primes.push_back(2);
is_prime[2] = 1;
rep(i, 3, 1e5) {
ll val = sqrt(i);
val++;
ll ind = upper_bound(all(primes), val) - primes.begin();
bool done = true;
rep(j, 0, ind) {
if (i % primes[j] == 0) {
done = false;
break;
}
}
if (done) {
is_prime[i] = 1;
primes.push_back(i);
}
}
ll n;
cin >> n;
ll cur = n;
is_prime[1] = 1;
is_prime[0] = 1;
vector<ll> v;
while (!is_prime[cur]) {
rep(i, 0, primes.size()) {
if (cur % primes[i] == 0) {
v.push_back(primes[i]);
cur /= primes[i];
break;
}
}
}
v.push_back(cur);
vector<ll> pr;
map<multiset<ll>, bool> visited;
queue<pair<vector<ll>, multiset<ll>>> q;
multiset<ll>node;
vector<ll> maping(30);
set<ll> uniq;
trav(a, v)uniq.insert(a);
ll counter = 0;
vector<ll> v2;
trav(a, uniq) {
maping[counter] = a;
v2.push_back(count(all(v), a));
counter++;
}
q.emplace(v2, node);
while (!q.empty()) {
pair<vector<ll>, multiset<ll>> cur = q.front();
q.pop();
ll counter = 0;
rep(i, 0, cur.first.size()) {
if (cur.first[i] == 0) {
counter++;
if (cur.first.size() == counter) {
res.push_back(cur.second);
}
continue;
}
vector<ll> ny = cur.first;
multiset<ll> ny2;
vector<ll> ny20;
trav(a, cur.second)ny20.push_back(a);
ny[i]--;
rep(j, 0, cur.second.size()) {
ny2.clear();
rep(z, 0, cur.second.size()) {
if (z == j) {
ny2.insert(maping[i] * ny20[z]);
}
else ny2.insert(ny20[z]);
}
if (!visited[ny2]) {
visited[ny2] = 1;
q.emplace(make_pair(ny, ny2));
}
}
ny2 = cur.second;
ny2.insert(maping[i]);
if (!visited[ny2]) {
visited[ny2] = 1;
q.emplace(make_pair(ny, ny2));
}
}
}
set<ll> ans;
rep(i, 0, res.size()) {
ll val = 0;
trav(a, res[i]) {
val += a - 1;
}
ans.insert(val);
}
cout << ans.size() << endl;
trav(a, ans)cout << a << " ";
return 0;
}
Compilation message
toy.cpp: In function 'int main()':
toy.cpp:75:26: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'll' {aka 'long long int'} [-Wsign-compare]
75 | if (cur.first.size() == counter) {
| ~~~~~~~~~~~~~~~~~^~~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
9 ms |
972 KB |
Output is correct |
2 |
Correct |
10 ms |
1008 KB |
Output is correct |
3 |
Correct |
10 ms |
972 KB |
Output is correct |
4 |
Correct |
10 ms |
972 KB |
Output is correct |
5 |
Correct |
10 ms |
888 KB |
Output is correct |
6 |
Correct |
11 ms |
972 KB |
Output is correct |
7 |
Correct |
9 ms |
1004 KB |
Output is correct |
8 |
Correct |
9 ms |
972 KB |
Output is correct |
9 |
Correct |
11 ms |
1000 KB |
Output is correct |
10 |
Correct |
9 ms |
972 KB |
Output is correct |
11 |
Correct |
9 ms |
964 KB |
Output is correct |
12 |
Correct |
9 ms |
896 KB |
Output is correct |
13 |
Correct |
9 ms |
892 KB |
Output is correct |
14 |
Correct |
10 ms |
972 KB |
Output is correct |
15 |
Correct |
9 ms |
972 KB |
Output is correct |
16 |
Correct |
10 ms |
892 KB |
Output is correct |
17 |
Correct |
10 ms |
972 KB |
Output is correct |
18 |
Correct |
10 ms |
936 KB |
Output is correct |
19 |
Correct |
11 ms |
972 KB |
Output is correct |
20 |
Correct |
9 ms |
972 KB |
Output is correct |
21 |
Correct |
10 ms |
1008 KB |
Output is correct |
22 |
Correct |
10 ms |
960 KB |
Output is correct |
23 |
Correct |
10 ms |
996 KB |
Output is correct |
24 |
Correct |
11 ms |
988 KB |
Output is correct |
25 |
Correct |
11 ms |
992 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
9 ms |
972 KB |
Output is correct |
2 |
Correct |
10 ms |
1008 KB |
Output is correct |
3 |
Correct |
10 ms |
972 KB |
Output is correct |
4 |
Correct |
10 ms |
972 KB |
Output is correct |
5 |
Correct |
10 ms |
888 KB |
Output is correct |
6 |
Correct |
11 ms |
972 KB |
Output is correct |
7 |
Correct |
9 ms |
1004 KB |
Output is correct |
8 |
Correct |
9 ms |
972 KB |
Output is correct |
9 |
Correct |
11 ms |
1000 KB |
Output is correct |
10 |
Correct |
9 ms |
972 KB |
Output is correct |
11 |
Correct |
9 ms |
964 KB |
Output is correct |
12 |
Correct |
9 ms |
896 KB |
Output is correct |
13 |
Correct |
9 ms |
892 KB |
Output is correct |
14 |
Correct |
10 ms |
972 KB |
Output is correct |
15 |
Correct |
9 ms |
972 KB |
Output is correct |
16 |
Correct |
10 ms |
892 KB |
Output is correct |
17 |
Correct |
10 ms |
972 KB |
Output is correct |
18 |
Correct |
10 ms |
936 KB |
Output is correct |
19 |
Correct |
11 ms |
972 KB |
Output is correct |
20 |
Correct |
9 ms |
972 KB |
Output is correct |
21 |
Correct |
10 ms |
1008 KB |
Output is correct |
22 |
Correct |
10 ms |
960 KB |
Output is correct |
23 |
Correct |
10 ms |
996 KB |
Output is correct |
24 |
Correct |
11 ms |
988 KB |
Output is correct |
25 |
Correct |
11 ms |
992 KB |
Output is correct |
26 |
Correct |
18 ms |
1672 KB |
Output is correct |
27 |
Correct |
17 ms |
1640 KB |
Output is correct |
28 |
Correct |
12 ms |
1244 KB |
Output is correct |
29 |
Correct |
11 ms |
1100 KB |
Output is correct |
30 |
Correct |
10 ms |
1128 KB |
Output is correct |
31 |
Correct |
32 ms |
2124 KB |
Output is correct |
32 |
Correct |
21 ms |
1744 KB |
Output is correct |
33 |
Correct |
18 ms |
1668 KB |
Output is correct |
34 |
Correct |
10 ms |
892 KB |
Output is correct |
35 |
Correct |
9 ms |
972 KB |
Output is correct |
36 |
Correct |
11 ms |
1124 KB |
Output is correct |
37 |
Correct |
17 ms |
1468 KB |
Output is correct |
38 |
Correct |
11 ms |
1148 KB |
Output is correct |
39 |
Correct |
9 ms |
972 KB |
Output is correct |
40 |
Correct |
17 ms |
1484 KB |
Output is correct |
41 |
Correct |
10 ms |
972 KB |
Output is correct |
42 |
Correct |
10 ms |
976 KB |
Output is correct |
43 |
Correct |
10 ms |
1000 KB |
Output is correct |
44 |
Correct |
9 ms |
980 KB |
Output is correct |
45 |
Correct |
10 ms |
1132 KB |
Output is correct |
46 |
Correct |
10 ms |
1012 KB |
Output is correct |
47 |
Correct |
15 ms |
1348 KB |
Output is correct |
48 |
Correct |
9 ms |
972 KB |
Output is correct |
49 |
Correct |
11 ms |
1000 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
9 ms |
972 KB |
Output is correct |
2 |
Correct |
10 ms |
1008 KB |
Output is correct |
3 |
Correct |
10 ms |
972 KB |
Output is correct |
4 |
Correct |
10 ms |
972 KB |
Output is correct |
5 |
Correct |
10 ms |
888 KB |
Output is correct |
6 |
Correct |
11 ms |
972 KB |
Output is correct |
7 |
Correct |
9 ms |
1004 KB |
Output is correct |
8 |
Correct |
9 ms |
972 KB |
Output is correct |
9 |
Correct |
11 ms |
1000 KB |
Output is correct |
10 |
Correct |
9 ms |
972 KB |
Output is correct |
11 |
Correct |
9 ms |
964 KB |
Output is correct |
12 |
Correct |
9 ms |
896 KB |
Output is correct |
13 |
Correct |
9 ms |
892 KB |
Output is correct |
14 |
Correct |
10 ms |
972 KB |
Output is correct |
15 |
Correct |
9 ms |
972 KB |
Output is correct |
16 |
Correct |
10 ms |
892 KB |
Output is correct |
17 |
Correct |
10 ms |
972 KB |
Output is correct |
18 |
Correct |
10 ms |
936 KB |
Output is correct |
19 |
Correct |
11 ms |
972 KB |
Output is correct |
20 |
Correct |
9 ms |
972 KB |
Output is correct |
21 |
Correct |
10 ms |
1008 KB |
Output is correct |
22 |
Correct |
10 ms |
960 KB |
Output is correct |
23 |
Correct |
10 ms |
996 KB |
Output is correct |
24 |
Correct |
11 ms |
988 KB |
Output is correct |
25 |
Correct |
11 ms |
992 KB |
Output is correct |
26 |
Correct |
18 ms |
1672 KB |
Output is correct |
27 |
Correct |
17 ms |
1640 KB |
Output is correct |
28 |
Correct |
12 ms |
1244 KB |
Output is correct |
29 |
Correct |
11 ms |
1100 KB |
Output is correct |
30 |
Correct |
10 ms |
1128 KB |
Output is correct |
31 |
Correct |
32 ms |
2124 KB |
Output is correct |
32 |
Correct |
21 ms |
1744 KB |
Output is correct |
33 |
Correct |
18 ms |
1668 KB |
Output is correct |
34 |
Correct |
10 ms |
892 KB |
Output is correct |
35 |
Correct |
9 ms |
972 KB |
Output is correct |
36 |
Correct |
11 ms |
1124 KB |
Output is correct |
37 |
Correct |
17 ms |
1468 KB |
Output is correct |
38 |
Correct |
11 ms |
1148 KB |
Output is correct |
39 |
Correct |
9 ms |
972 KB |
Output is correct |
40 |
Correct |
17 ms |
1484 KB |
Output is correct |
41 |
Correct |
10 ms |
972 KB |
Output is correct |
42 |
Correct |
10 ms |
976 KB |
Output is correct |
43 |
Correct |
10 ms |
1000 KB |
Output is correct |
44 |
Correct |
9 ms |
980 KB |
Output is correct |
45 |
Correct |
10 ms |
1132 KB |
Output is correct |
46 |
Correct |
10 ms |
1012 KB |
Output is correct |
47 |
Correct |
15 ms |
1348 KB |
Output is correct |
48 |
Correct |
9 ms |
972 KB |
Output is correct |
49 |
Correct |
11 ms |
1000 KB |
Output is correct |
50 |
Correct |
68 ms |
4748 KB |
Output is correct |
51 |
Correct |
60 ms |
4200 KB |
Output is correct |
52 |
Correct |
83 ms |
5268 KB |
Output is correct |
53 |
Correct |
66 ms |
4648 KB |
Output is correct |
54 |
Correct |
29 ms |
2548 KB |
Output is correct |
55 |
Correct |
155 ms |
8516 KB |
Output is correct |
56 |
Correct |
169 ms |
8128 KB |
Output is correct |
57 |
Correct |
107 ms |
6408 KB |
Output is correct |
58 |
Correct |
9 ms |
972 KB |
Output is correct |
59 |
Correct |
10 ms |
996 KB |
Output is correct |
60 |
Correct |
15 ms |
1380 KB |
Output is correct |
61 |
Correct |
73 ms |
4564 KB |
Output is correct |
62 |
Correct |
27 ms |
2380 KB |
Output is correct |
63 |
Correct |
16 ms |
1512 KB |
Output is correct |
64 |
Correct |
12 ms |
1004 KB |
Output is correct |
65 |
Correct |
43 ms |
3268 KB |
Output is correct |
66 |
Correct |
11 ms |
1008 KB |
Output is correct |
67 |
Correct |
10 ms |
1004 KB |
Output is correct |
68 |
Correct |
12 ms |
972 KB |
Output is correct |
69 |
Correct |
11 ms |
1100 KB |
Output is correct |
70 |
Correct |
19 ms |
1996 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
9 ms |
972 KB |
Output is correct |
2 |
Correct |
10 ms |
1008 KB |
Output is correct |
3 |
Correct |
10 ms |
972 KB |
Output is correct |
4 |
Correct |
10 ms |
972 KB |
Output is correct |
5 |
Correct |
10 ms |
888 KB |
Output is correct |
6 |
Correct |
11 ms |
972 KB |
Output is correct |
7 |
Correct |
9 ms |
1004 KB |
Output is correct |
8 |
Correct |
9 ms |
972 KB |
Output is correct |
9 |
Correct |
11 ms |
1000 KB |
Output is correct |
10 |
Correct |
9 ms |
972 KB |
Output is correct |
11 |
Correct |
9 ms |
964 KB |
Output is correct |
12 |
Correct |
9 ms |
896 KB |
Output is correct |
13 |
Correct |
9 ms |
892 KB |
Output is correct |
14 |
Correct |
10 ms |
972 KB |
Output is correct |
15 |
Correct |
9 ms |
972 KB |
Output is correct |
16 |
Correct |
10 ms |
892 KB |
Output is correct |
17 |
Correct |
10 ms |
972 KB |
Output is correct |
18 |
Correct |
10 ms |
936 KB |
Output is correct |
19 |
Correct |
11 ms |
972 KB |
Output is correct |
20 |
Correct |
9 ms |
972 KB |
Output is correct |
21 |
Correct |
10 ms |
1008 KB |
Output is correct |
22 |
Correct |
10 ms |
960 KB |
Output is correct |
23 |
Correct |
10 ms |
996 KB |
Output is correct |
24 |
Correct |
11 ms |
988 KB |
Output is correct |
25 |
Correct |
11 ms |
992 KB |
Output is correct |
26 |
Correct |
18 ms |
1672 KB |
Output is correct |
27 |
Correct |
17 ms |
1640 KB |
Output is correct |
28 |
Correct |
12 ms |
1244 KB |
Output is correct |
29 |
Correct |
11 ms |
1100 KB |
Output is correct |
30 |
Correct |
10 ms |
1128 KB |
Output is correct |
31 |
Correct |
32 ms |
2124 KB |
Output is correct |
32 |
Correct |
21 ms |
1744 KB |
Output is correct |
33 |
Correct |
18 ms |
1668 KB |
Output is correct |
34 |
Correct |
10 ms |
892 KB |
Output is correct |
35 |
Correct |
9 ms |
972 KB |
Output is correct |
36 |
Correct |
11 ms |
1124 KB |
Output is correct |
37 |
Correct |
17 ms |
1468 KB |
Output is correct |
38 |
Correct |
11 ms |
1148 KB |
Output is correct |
39 |
Correct |
9 ms |
972 KB |
Output is correct |
40 |
Correct |
17 ms |
1484 KB |
Output is correct |
41 |
Correct |
10 ms |
972 KB |
Output is correct |
42 |
Correct |
10 ms |
976 KB |
Output is correct |
43 |
Correct |
10 ms |
1000 KB |
Output is correct |
44 |
Correct |
9 ms |
980 KB |
Output is correct |
45 |
Correct |
10 ms |
1132 KB |
Output is correct |
46 |
Correct |
10 ms |
1012 KB |
Output is correct |
47 |
Correct |
15 ms |
1348 KB |
Output is correct |
48 |
Correct |
9 ms |
972 KB |
Output is correct |
49 |
Correct |
11 ms |
1000 KB |
Output is correct |
50 |
Correct |
68 ms |
4748 KB |
Output is correct |
51 |
Correct |
60 ms |
4200 KB |
Output is correct |
52 |
Correct |
83 ms |
5268 KB |
Output is correct |
53 |
Correct |
66 ms |
4648 KB |
Output is correct |
54 |
Correct |
29 ms |
2548 KB |
Output is correct |
55 |
Correct |
155 ms |
8516 KB |
Output is correct |
56 |
Correct |
169 ms |
8128 KB |
Output is correct |
57 |
Correct |
107 ms |
6408 KB |
Output is correct |
58 |
Correct |
9 ms |
972 KB |
Output is correct |
59 |
Correct |
10 ms |
996 KB |
Output is correct |
60 |
Correct |
15 ms |
1380 KB |
Output is correct |
61 |
Correct |
73 ms |
4564 KB |
Output is correct |
62 |
Correct |
27 ms |
2380 KB |
Output is correct |
63 |
Correct |
16 ms |
1512 KB |
Output is correct |
64 |
Correct |
12 ms |
1004 KB |
Output is correct |
65 |
Correct |
43 ms |
3268 KB |
Output is correct |
66 |
Correct |
11 ms |
1008 KB |
Output is correct |
67 |
Correct |
10 ms |
1004 KB |
Output is correct |
68 |
Correct |
12 ms |
972 KB |
Output is correct |
69 |
Correct |
11 ms |
1100 KB |
Output is correct |
70 |
Correct |
19 ms |
1996 KB |
Output is correct |
71 |
Execution timed out |
5104 ms |
226512 KB |
Time limit exceeded |
72 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
9 ms |
972 KB |
Output is correct |
2 |
Correct |
10 ms |
1008 KB |
Output is correct |
3 |
Correct |
10 ms |
972 KB |
Output is correct |
4 |
Correct |
10 ms |
972 KB |
Output is correct |
5 |
Correct |
10 ms |
888 KB |
Output is correct |
6 |
Correct |
11 ms |
972 KB |
Output is correct |
7 |
Correct |
9 ms |
1004 KB |
Output is correct |
8 |
Correct |
9 ms |
972 KB |
Output is correct |
9 |
Correct |
11 ms |
1000 KB |
Output is correct |
10 |
Correct |
9 ms |
972 KB |
Output is correct |
11 |
Correct |
9 ms |
964 KB |
Output is correct |
12 |
Correct |
9 ms |
896 KB |
Output is correct |
13 |
Correct |
9 ms |
892 KB |
Output is correct |
14 |
Correct |
10 ms |
972 KB |
Output is correct |
15 |
Correct |
9 ms |
972 KB |
Output is correct |
16 |
Correct |
10 ms |
892 KB |
Output is correct |
17 |
Correct |
10 ms |
972 KB |
Output is correct |
18 |
Correct |
10 ms |
936 KB |
Output is correct |
19 |
Correct |
11 ms |
972 KB |
Output is correct |
20 |
Correct |
9 ms |
972 KB |
Output is correct |
21 |
Correct |
10 ms |
1008 KB |
Output is correct |
22 |
Correct |
10 ms |
960 KB |
Output is correct |
23 |
Correct |
10 ms |
996 KB |
Output is correct |
24 |
Correct |
11 ms |
988 KB |
Output is correct |
25 |
Correct |
11 ms |
992 KB |
Output is correct |
26 |
Correct |
18 ms |
1672 KB |
Output is correct |
27 |
Correct |
17 ms |
1640 KB |
Output is correct |
28 |
Correct |
12 ms |
1244 KB |
Output is correct |
29 |
Correct |
11 ms |
1100 KB |
Output is correct |
30 |
Correct |
10 ms |
1128 KB |
Output is correct |
31 |
Correct |
32 ms |
2124 KB |
Output is correct |
32 |
Correct |
21 ms |
1744 KB |
Output is correct |
33 |
Correct |
18 ms |
1668 KB |
Output is correct |
34 |
Correct |
10 ms |
892 KB |
Output is correct |
35 |
Correct |
9 ms |
972 KB |
Output is correct |
36 |
Correct |
11 ms |
1124 KB |
Output is correct |
37 |
Correct |
17 ms |
1468 KB |
Output is correct |
38 |
Correct |
11 ms |
1148 KB |
Output is correct |
39 |
Correct |
9 ms |
972 KB |
Output is correct |
40 |
Correct |
17 ms |
1484 KB |
Output is correct |
41 |
Correct |
10 ms |
972 KB |
Output is correct |
42 |
Correct |
10 ms |
976 KB |
Output is correct |
43 |
Correct |
10 ms |
1000 KB |
Output is correct |
44 |
Correct |
9 ms |
980 KB |
Output is correct |
45 |
Correct |
10 ms |
1132 KB |
Output is correct |
46 |
Correct |
10 ms |
1012 KB |
Output is correct |
47 |
Correct |
15 ms |
1348 KB |
Output is correct |
48 |
Correct |
9 ms |
972 KB |
Output is correct |
49 |
Correct |
11 ms |
1000 KB |
Output is correct |
50 |
Correct |
68 ms |
4748 KB |
Output is correct |
51 |
Correct |
60 ms |
4200 KB |
Output is correct |
52 |
Correct |
83 ms |
5268 KB |
Output is correct |
53 |
Correct |
66 ms |
4648 KB |
Output is correct |
54 |
Correct |
29 ms |
2548 KB |
Output is correct |
55 |
Correct |
155 ms |
8516 KB |
Output is correct |
56 |
Correct |
169 ms |
8128 KB |
Output is correct |
57 |
Correct |
107 ms |
6408 KB |
Output is correct |
58 |
Correct |
9 ms |
972 KB |
Output is correct |
59 |
Correct |
10 ms |
996 KB |
Output is correct |
60 |
Correct |
15 ms |
1380 KB |
Output is correct |
61 |
Correct |
73 ms |
4564 KB |
Output is correct |
62 |
Correct |
27 ms |
2380 KB |
Output is correct |
63 |
Correct |
16 ms |
1512 KB |
Output is correct |
64 |
Correct |
12 ms |
1004 KB |
Output is correct |
65 |
Correct |
43 ms |
3268 KB |
Output is correct |
66 |
Correct |
11 ms |
1008 KB |
Output is correct |
67 |
Correct |
10 ms |
1004 KB |
Output is correct |
68 |
Correct |
12 ms |
972 KB |
Output is correct |
69 |
Correct |
11 ms |
1100 KB |
Output is correct |
70 |
Correct |
19 ms |
1996 KB |
Output is correct |
71 |
Execution timed out |
5104 ms |
226512 KB |
Time limit exceeded |
72 |
Halted |
0 ms |
0 KB |
- |