CSES - KILO 2016 2/5 - Results
Submission details
Task:Trade
Sender:Pietari Kaskela
Submission time:2016-09-13 18:19:21 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.05 sdetails
#2ACCEPTED0.05 sdetails
#3ACCEPTED0.04 sdetails
#4ACCEPTED0.06 sdetails
#5ACCEPTED0.06 sdetails
#60.06 sdetails
#70.05 sdetails
#8ACCEPTED0.05 sdetails
#9ACCEPTED0.06 sdetails
#10ACCEPTED0.06 sdetails
#11ACCEPTED0.06 sdetails
#12ACCEPTED0.05 sdetails
#13ACCEPTED0.05 sdetails
#14ACCEPTED0.05 sdetails
#15ACCEPTED0.05 sdetails
#16ACCEPTED0.06 sdetails
#17ACCEPTED0.05 sdetails
#18ACCEPTED0.05 sdetails
#19ACCEPTED0.05 sdetails
#20ACCEPTED0.05 sdetails
#21ACCEPTED0.05 sdetails
#22ACCEPTED0.05 sdetails
#23ACCEPTED0.05 sdetails
#24ACCEPTED0.05 sdetails
#25ACCEPTED0.05 sdetails
#26ACCEPTED0.05 sdetails
#27ACCEPTED0.05 sdetails
#28ACCEPTED0.05 sdetails
#29ACCEPTED0.05 sdetails
#30ACCEPTED0.06 sdetails

Code

#include <bits/stdc++.h>

#define i64 long long
#define u64 unsigned long long
#define i32 int
#define u32 unsigned int

#define pii pair<int, int>
#define pll pair<long long, long long>

#define ld long double
#define defmod 1000000007

#define mati64(a,b) vector<vector<i64>>(a, vector<i64>(b, 0));
using namespace std;


int main(){
	cin.sync_with_stdio(0);
	cin.tie(0);
	
	int n; cin >> n;
	vector<pii> d(n);
	for(int i = 0; i < n; ++i){
		cin >> d[i].first;
		d[i].second = i;
	}
	sort(d.begin(), d.end(), greater<pii>());
	
	int ans[200][200] = {0};
	
	while(d[0].first){
		int i = 0;
		bool ok = false;
		for(int j = i+1; j < n; ++j){
			int i2 = d[i].second, j2 = d[j].second;
			if(d[i].first > 0 && d[j].first > 0){
				ok = true;
				int ad = min(d[i].first, d[j].first);
				d[i].first-=ad;
				d[j].first-=ad;
				ans[i2][j2]+=ad;
				ans[j2][i2]+=ad;
				sort(d.begin(), d.end(), greater<pii>());
				break;
			}
		}
		if(!ok){
			cout << "QAQ" << endl;
			return 0;
		}
	}
	for(int i = 0; i < n; ++i){
		for(int j = 0; j < n; ++j)
			cout << ans[i][j] << " ";
		cout << endl;
	}
	return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
2
78 16

correct output
QAQ

user output
QAQ

Test 2

Verdict: ACCEPTED

input
2
87 93

correct output
QAQ

user output
QAQ

Test 3

Verdict: ACCEPTED

input
2
63 29

correct output
QAQ

user output
QAQ

Test 4

Verdict: ACCEPTED

input
2
64 28

correct output
QAQ

user output
QAQ

Test 5

Verdict: ACCEPTED

input
1
74

correct output
QAQ

user output
QAQ

Test 6

Verdict:

input
3
69 68 31

correct output
0 53 16 
53 0 15 
16 15 0 

user output
QAQ

Test 7

Verdict:

input
3
63 24 69

correct output
0 9 54 
9 0 15 
54 15 0 

user output
QAQ

Test 8

Verdict: ACCEPTED

input
3
3 23 60

correct output
QAQ

user output
QAQ

Test 9

Verdict: ACCEPTED

input
1
94

correct output
QAQ

user output
QAQ

Test 10

Verdict: ACCEPTED

input
2
43 30

correct output
QAQ

user output
QAQ

Test 11

Verdict: ACCEPTED

input
74
22 20 85 38 99 25 16 71 14 27 ...

correct output
0 9 2 0 0 0 0 0 0 0 0 0 0 0 0 ...

user output
0 0 0 0 0 22 0 0 0 0 0 0 0 0 0...

Test 12

Verdict: ACCEPTED

input
66
90 45 20 41 30 32 18 98 72 82 ...

correct output
0 20 0 0 0 0 0 16 0 0 0 0 0 0 ...

user output
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

Test 13

Verdict: ACCEPTED

input
29
76 8 75 22 59 96 30 38 36 94 1...

correct output
0 4 24 0 0 0 0 0 0 0 0 0 0 0 0...

user output
0 0 75 1 0 0 0 0 0 0 0 0 0 0 0...

Test 14

Verdict: ACCEPTED

input
18
18 97 25 44 71 84 91 100 73 26...

correct output
0 12 0 0 0 0 0 0 0 0 0 0 0 0 0...

user output
0 0 0 0 0 0 0 0 0 0 0 0 0 0 8 ...

Test 15

Verdict: ACCEPTED

input
43
65 98 8 56 5 49 12 23 29 100 4...

correct output
0 28 0 0 0 0 0 0 0 0 0 0 0 0 0...

user output
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ...

Test 16

Verdict: ACCEPTED

input
69
72 74 32 82 31 34 95 61 64 100...

correct output
0 37 0 0 0 0 0 0 0 0 0 0 0 0 0...

user output
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

Test 17

Verdict: ACCEPTED

input
31
85 93 73 73 51 26 86 23 100 41...

correct output
0 33 0 0 0 0 0 0 0 0 0 0 0 0 0...

user output
0 1 0 0 0 0 0 0 0 0 2 0 0 0 0 ...

Test 18

Verdict: ACCEPTED

input
61
43 80 85 94 6 22 68 5 14 62 55...

correct output
0 14 0 0 0 0 0 0 0 0 0 0 0 0 0...

user output
0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 ...

Test 19

Verdict: ACCEPTED

input
37
61 15 22 61 5 29 28 51 49 57 3...

correct output
0 6 4 25 0 0 0 0 0 0 0 0 0 0 0...

user output
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

Test 20

Verdict: ACCEPTED

input
44
36 78 1 39 72 50 90 68 89 93 9...

correct output
0 17 0 0 0 0 0 0 0 0 0 0 0 0 0...

user output
0 0 0 36 0 0 0 0 0 0 0 0 0 0 0...

Test 21

Verdict: ACCEPTED

input
87
1 47 27 95 17 53 79 30 47 91 4...

correct output
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

user output
0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ...

Test 22

Verdict: ACCEPTED

input
63
83 91 93 92 58 16 22 58 75 92 ...

correct output
0 48 0 0 0 0 0 0 0 0 0 0 0 0 0...

user output
0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ...

Test 23

Verdict: ACCEPTED

input
15
90 69 94 19 6 83 23 83 18 31 9...

correct output
0 37 8 0 0 0 0 0 0 0 0 0 0 0 4...

user output
0 0 90 0 0 0 0 0 0 0 0 0 0 0 0...

Test 24

Verdict: ACCEPTED

input
54
44 75 15 14 80 78 63 76 89 20 ...

correct output
0 23 0 0 0 0 0 0 0 0 0 0 0 0 0...

user output
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

Test 25

Verdict: ACCEPTED

input
64
78 97 82 66 61 37 56 71 19 12 ...

correct output
0 32 0 0 0 0 0 0 0 0 0 0 0 0 0...

user output
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 ...

Test 26

Verdict: ACCEPTED

input
19
2 4 54 34 8 60 29 7 98 21 85 9...

correct output
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

user output
0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 ...

Test 27

Verdict: ACCEPTED

input
72
90 60 7 11 17 25 10 40 1 79 10...

correct output
0 33 0 0 0 0 0 0 0 12 0 0 2 0 ...

user output
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

Test 28

Verdict: ACCEPTED

input
64
61 83 12 86 87 86 31 91 84 15 ...

correct output
0 32 0 0 0 0 0 0 0 0 0 0 0 0 0...

user output
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

Test 29

Verdict: ACCEPTED

input
67
53 18 42 36 69 99 85 96 77 6 6...

correct output
0 9 9 0 8 0 0 0 0 0 0 0 0 0 0 ...

user output
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

Test 30

Verdict: ACCEPTED

input
57
91 42 71 53 66 12 70 18 62 84 ...

correct output
0 18 11 0 0 0 0 0 0 5 0 0 0 0 ...

user output
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...