CSES - Datatähti 2018 loppu - Results
Submission details
Task:Tietoverkko
Sender:Leiska
Submission time:2018-01-18 15:25:47 +0200
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
Test results
testverdicttimegroup
#10.19 s1details
#20.19 s1details
#30.19 s1details
#40.18 s1details
#50.21 s1details
#60.20 s2details
#70.19 s2details
#80.18 s2details
#90.19 s2details
#100.19 s2details

Compiler report

input/code.cpp: In function 'void removesingle()':
input/code.cpp:39:2: warning: 'c' may be used uninitialized in this function [-Wmaybe-uninitialized]
  if(c==0) return;
  ^
input/code.cpp: In function 'int main()':
input/code.cpp:48:2: warning: 'i' may be used uninitialized in this function [-Wmaybe-uninitialized]
  for(int i; i<(n*2); i++) {
  ^

Code

#include <bits/stdc++.h>

using namespace std;

int n;
int p;
vector<int> v;
vector<int> w;

int findv(int x) {
	for(int i=0; i<n*2; i++) {
		if(v[i]==x) {
			return i;		
		}	
	}
	return -1;
}

void removesingle() {
	int c;
	for(int i = 0; i<n; i++) {
		if(w[i] == 1) { 
			p++;
			c++;
			int pos = findv(i+1);
			w[i]--;
			if(pos%2==0) {
				w[i+1]--;
				v.erase(v.begin()+pos);
				v.erase(v.begin()+pos+1);
			}
			else {
				w[i-1]--;
				v.erase(v.begin()+pos);
				v.erase(v.begin()+pos-1);
			}
		}
	}
	if(c==0) return;
	removesingle();
}

int main() {
	cin.tie(0);
	ios_base::sync_with_stdio(0);
	
	cin >> n;
	for(int i; i<(n*2); i++) {
		int t; 
		cin >> t;
		v.push_back(t);
		w[t]++;
	}
	
	removesingle();
	
	cout << p << endl;
}

Test details

Test 1

Group: 1

Verdict:

input
100
16 88
6 77
60 92
98 64
...

correct output
97

user output
(empty)

Test 2

Group: 1

Verdict:

input
100
97 41
95 93
79 60
5 4
...

correct output
95

user output
(empty)

Test 3

Group: 1

Verdict:

input
100
87 24
21 49
86 85
42 32
...

correct output
90

user output
(empty)

Test 4

Group: 1

Verdict:

input
100
30 24
54 79
51 6
80 29
...

correct output
50

user output
(empty)

Test 5

Group: 1

Verdict:

input
100
11 27
54 59
100 90
2 95
...

correct output
0

user output
(empty)

Test 6

Group: 2

Verdict:

input
100000
98276 76171
70684 49183
48756 661
17166 16972
...

correct output
99997

user output
(empty)

Test 7

Group: 2

Verdict:

input
100000
35903 47275
13566 84
58018 42495
57071 4451
...

correct output
99995

user output
(empty)

Test 8

Group: 2

Verdict:

input
100000
79209 94485
60266 86793
27501 19927
13544 59730
...

correct output
99000

user output
(empty)

Test 9

Group: 2

Verdict:

input
100000
68402 82703
12892 46068
60013 40753
26168 34434
...

correct output
90000

user output
(empty)

Test 10

Group: 2

Verdict:

input
100000
37330 74855
54324 45726
61652 15611
79081 47339
...

correct output
0

user output
(empty)