Submission #847591
Source Code Expand
Copy
//In the name of Allah #include <bits/stdc++.h> using namespace std; typedef long long ll; const int maxN = 1000 * 100 + 100; const int mx = 2500 + 10; ll a[maxN]; map<ll,int> cnt; vector<int> pr; int mark[maxN]; int main() { for( int i = 2 ; i < mx ; i++ ) if( !mark[i] ) { pr.push_back(i); for( int j = i + i ; j < maxN ; j += i ) mark[j] = true; } ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; for( int i = 0 ; i < n ; i++ ) { cin >> a[i]; for( int t = 2 ; t < mx ; t++ ) { ll z = t * 1ll * t * t; while( a[i] % z == 0 ) a[i] /= z; } cnt[a[i]]++; } sort( a , a + n ); int ans = 0; if( cnt[1] ) ans = 1; cnt[1] = 0; for( int i = 0 ; i < n ; i++ ) if( cnt[a[i]] ) { ll x = a[i]; ll z = 1; for( auto y : pr ) { if( x % y == 0 ) { int v = 0; while( x % y == 0 ) { v++; x /= y; } if( v == 1 ) z *= y * 1ll * y; else if( v == 2 ) z *= y; if( x == 1 ) break; } else if( y * 1ll * y > x ) break; } if( x > 1 ) z *= x * 1ll * x; ans += max( cnt[a[i]] , cnt[z] ); cnt[z] = 0; cnt[a[i]] = 0; //cerr << a[i] << " " << z << " ANS CHANGED TO " << ans << endl; } cout << ans << endl; }
Submission Info
Submission Time | |
---|---|
Task | D - Anticube |
User | LiTi |
Language | C++14 (GCC 5.4.1) |
Score | 0 |
Code Size | 1326 Byte |
Status | TLE |
Exec Time | 5120 ms |
Memory | 13952 KB |
Judge Result
Set Name | Sample | All | ||||||
---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 0 / 1100 | ||||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | s1.txt, s2.txt, s3.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, s1.txt, s2.txt, s3.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01.txt | TLE | 5091 ms | 13952 KB |
02.txt | TLE | 5087 ms | 13952 KB |
03.txt | TLE | 5102 ms | 13952 KB |
04.txt | TLE | 5077 ms | 13952 KB |
05.txt | TLE | 5120 ms | 13952 KB |
06.txt | TLE | 5082 ms | 13952 KB |
07.txt | TLE | 5084 ms | 13952 KB |
08.txt | TLE | 5097 ms | 13952 KB |
09.txt | TLE | 5095 ms | 13952 KB |
10.txt | TLE | 5096 ms | 13952 KB |
11.txt | AC | 4760 ms | 5376 KB |
12.txt | AC | 4751 ms | 5376 KB |
13.txt | AC | 4616 ms | 5376 KB |
14.txt | AC | 4624 ms | 5376 KB |
15.txt | AC | 4611 ms | 5376 KB |
16.txt | AC | 4667 ms | 5376 KB |
17.txt | AC | 4540 ms | 1408 KB |
18.txt | AC | 4536 ms | 1408 KB |
19.txt | AC | 4536 ms | 1408 KB |
20.txt | AC | 4536 ms | 1408 KB |
21.txt | AC | 4855 ms | 9088 KB |
22.txt | AC | 4870 ms | 8960 KB |
23.txt | AC | 4866 ms | 8960 KB |
24.txt | AC | 4846 ms | 8960 KB |
25.txt | AC | 4857 ms | 8960 KB |
26.txt | AC | 4841 ms | 8960 KB |
27.txt | AC | 4679 ms | 11776 KB |
28.txt | AC | 4489 ms | 1408 KB |
29.txt | AC | 4490 ms | 1408 KB |
30.txt | AC | 4474 ms | 1408 KB |
31.txt | AC | 4480 ms | 1408 KB |
32.txt | AC | 4476 ms | 1408 KB |
33.txt | AC | 5 ms | 640 KB |
34.txt | AC | 4508 ms | 1408 KB |
35.txt | AC | 4506 ms | 1408 KB |
36.txt | AC | 5 ms | 640 KB |
37.txt | AC | 4775 ms | 6272 KB |
38.txt | AC | 4772 ms | 6272 KB |
39.txt | AC | 4762 ms | 6272 KB |
40.txt | AC | 4773 ms | 6272 KB |
41.txt | AC | 5 ms | 640 KB |
42.txt | AC | 5 ms | 640 KB |
43.txt | AC | 5 ms | 640 KB |
44.txt | AC | 5 ms | 640 KB |
45.txt | AC | 5 ms | 640 KB |
46.txt | AC | 5 ms | 640 KB |
47.txt | AC | 5 ms | 640 KB |
48.txt | AC | 5 ms | 640 KB |
s1.txt | AC | 5 ms | 640 KB |
s2.txt | AC | 5 ms | 640 KB |
s3.txt | AC | 5 ms | 640 KB |