CSES - Putka Open 2020 – 4/5 - Results
Submission details
Task:Neliöt
Sender:Mahtimursu
Submission time:2020-11-06 18:43:56 +0200
Language:C++11
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED28
#2ACCEPTED72
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 2details
#2ACCEPTED0.01 s1, 2details
#3ACCEPTED0.01 s2details

Code

#include <bits/stdc++.h>

typedef long long ll;

#define M 1000000007

using namespace std;

void test_case() {
	int n;
	cin >> n; 
     
    map<int, int> d;

    int div = 2;
    while (n > 1) {
        if (div * div > n) {
            d[n]++;
            break;
        }

        if (n % div == 0) {
            d[div]++;
            n /= div;
            div = 1;
        } 
        div++;
    }

    for (auto it = d.begin(); it != d.end(); it++) {
        if (it->first % 4 == 3) {
            if (it->second & 1) {
                cout << "NO\n";
                return;
            }
        }
    }
    cout << "YES\n";
}

int main() {
	ios_base::sync_with_stdio(false);
	cin.tie(0);
	int t;
	cin >> t;
	for (int i = 0; i < t; ++i) {
		test_case();
		//cout << "\n";
	}

	return 0;
}

Test details

Test 1

Group: 1, 2

Verdict: ACCEPTED

input
100
1
2
3
4
...

correct output
YES
YES
NO
YES
YES
...

user output
YES
YES
NO
YES
YES
...

Test 2

Group: 1, 2

Verdict: ACCEPTED

input
100
522
419
402
969
...

correct output
YES
NO
NO
NO
NO
...

user output
YES
NO
NO
NO
NO
...

Test 3

Group: 2

Verdict: ACCEPTED

input
100
575833539
744851460
436154655
655319365
...

correct output
NO
NO
NO
NO
NO
...

user output
NO
NO
NO
NO
NO
...