CSES - Datatähti 2017 loppu - Results
Submission details
Task:Ruudukko
Sender:siirikuoppala
Submission time:2017-01-19 15:00:07 +0200
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.05 s1details
#20.03 s1details
#30.04 s1details
#40.04 s1details
#50.05 s1details
#60.03 s1details
#70.05 s1details
#80.04 s1details
#90.04 s1details
#100.04 s2details
#110.04 s2details
#120.04 s2details
#130.05 s2details
#140.05 s2details
#150.03 s2details
#160.04 s3details
#170.04 s3details
#180.04 s3details
#190.05 s3details
#200.03 s3details
#210.03 s3details

Code

#include <iostream>
#include <vector>
using namespace std;
typedef long long ll;
#define N (1<<18)

vector<int> v[N];
ll t[N], yhh[N], hyhh[N];
int  main(){
	long long n; cin >> n;
	ll V = n*(n-1)*(n-2)/6, x=0, x2=0, x3=0;
	for(int i=1; i<=n; ++i){
		int a; cin >> a;
		if(yhh[a]==i) continue;
		yhh[i]=a;
		++x;
		v[i].push_back(a);
		v[a].push_back(i);
		++t[i], ++t[a];
	}
	for(int i=1; i<=n; ++i){
		int u = yhh[i];
		if(u==0) continue;
		--t[u], --t[i];
		x2+=t[u];
		x2+=t[i];
		if(yhh[yhh[u]] ==i ){
			++x3;
			--x2;
		}
		yhh[i]=0;
	}
	//cout << x << " " << x2 << " " << x3 << "\n";
	cout << V-x*(n-2)+x2 << "\n";
}

Test details

Test 1

Group: 1

Verdict:

input
2

correct output
QAQ

user output
0

Test 2

Group: 1

Verdict:

input
3

correct output
QAQ

user output
-2

Test 3

Group: 1

Verdict:

input
4

correct output
3 4 3 4
3 1 1 2
4 4 3 2
2 2 1 1

user output
-4

Test 4

Group: 1

Verdict:

input
5

correct output
2 3 4 1 1 
3 4 2 1 2 
4 2 3 1 3 
4 3 2 1 4 
5 5 5 5 5 

user output
-5

Test 5

Group: 1

Verdict:

input
6

correct output
2 3 4 5 1 1 
3 4 5 2 1 2 
4 5 2 3 1 3 
5 2 3 4 1 4 
5 4 3 2 1 5 
...

user output
-4

Test 6

Group: 1

Verdict:

input
7

correct output
2 3 4 5 6 1 1 
3 4 5 6 2 1 2 
4 5 6 2 3 1 3 
5 6 2 3 4 1 4 
6 2 3 4 5 1 5 
...

user output
0

Test 7

Group: 1

Verdict:

input
8

correct output
2 3 4 5 6 7 1 1 
3 4 5 6 7 2 1 2 
4 5 6 7 2 3 1 3 
5 6 7 2 3 4 1 4 
6 7 2 3 4 5 1 5 
...

user output
8

Test 8

Group: 1

Verdict:

input
9

correct output
2 3 4 5 6 7 8 1 1 
3 4 5 6 7 8 2 1 2 
4 5 6 7 8 2 3 1 3 
5 6 7 8 2 3 4 1 4 
6 7 8 2 3 4 5 1 5 
...

user output
21

Test 9

Group: 1

Verdict:

input
10

correct output
2 3 4 5 6 7 8 9 1 1 
3 4 5 6 7 8 9 2 1 2 
4 5 6 7 8 9 2 3 1 3 
5 6 7 8 9 2 3 4 1 4 
6 7 8 9 2 3 4 5 1 5 
...

user output
40

Test 10

Group: 2

Verdict:

input
3

correct output
QAQ

user output
-2

Test 11

Group: 2

Verdict:

input
4

correct output
3 4 3 4
3 1 1 2
4 4 3 2
2 2 1 1

user output
-4

Test 12

Group: 2

Verdict:

input
29

correct output
2 3 4 5 6 7 8 9 10 11 12 13 14...

user output
2871

Test 13

Group: 2

Verdict:

input
48

correct output
2 3 4 5 6 7 8 9 10 11 12 13 14...

user output
15088

Test 14

Group: 2

Verdict:

input
80

correct output
2 3 4 5 6 7 8 9 10 11 12 13 14...

user output
75920

Test 15

Group: 2

Verdict:

input
97

correct output
2 3 4 5 6 7 8 9 10 11 12 13 14...

user output
138225

Test 16

Group: 3

Verdict:

input
3

correct output
QAQ

user output
-2

Test 17

Group: 3

Verdict:

input
4

correct output
3 4 3 4
3 1 1 2
4 4 3 2
2 2 1 1

user output
-4

Test 18

Group: 3

Verdict:

input
111

correct output
2 3 4 5 6 7 8 9 10 11 12 13 14...

user output
209716

Test 19

Group: 3

Verdict:

input
506

correct output
2 3 4 5 6 7 8 9 10 11 12 13 14...

user output
21209496

Test 20

Group: 3

Verdict:

input
844

correct output
2 3 4 5 6 7 8 9 10 11 12 13 14...

user output
99135396

Test 21

Group: 3

Verdict:

input
991

correct output
2 3 4 5 6 7 8 9 10 11 12 13 14...

user output
160736236