Submission details
Task:Trade
Sender:OOliOO_slayer
Submission time:2016-09-13 17:23:35 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#10.05 sdetails
#20.06 sdetails
#30.05 sdetails
#40.05 sdetails
#50.05 sdetails
#60.05 sdetails
#70.06 sdetails
#80.06 sdetails
#90.05 sdetails
#10ACCEPTED0.05 sdetails
#110.05 sdetails
#120.06 sdetails
#130.05 sdetails
#140.05 sdetails
#150.06 sdetails
#160.05 sdetails
#170.04 sdetails
#180.06 sdetails
#190.05 sdetails
#200.05 sdetails
#210.05 sdetails
#220.06 sdetails
#230.05 sdetails
#240.05 sdetails
#250.06 sdetails
#260.05 sdetails
#270.06 sdetails
#280.06 sdetails
#290.05 sdetails
#300.06 sdetails

Code


#include <vector>
#include <utility>
#include <algorithm>
#include <iostream>
using namespace std;


int main() {
    int n; cin >> n;
    vector<int> v;
    int sum = 0;
    for(int i = 0; i < n; i++){
        int x; cin >> x;
        v.push_back(x);
        sum += x;
    }
    
    if(sum % 2 != 0){
        cout << "QAQ" << endl;
        return 0;
    }
    
    vector<vector<int> > ans(n, vector<int>(n));
    for(int iter = 0; iter < sum / 2; iter++){
        int min_index = 0;
        int max_index = 0;
        int min_value = 1e9;
        int max_value = -1;
        for(int i = 0; i < n; i++){
            if(v[i] > 0 && v[i] < min_value){
                min_value = v[i];
                min_index = i;
            }
        }
        for(int i = n-1; i >= 0; i--){
            if(v[i] > max_value){
                max_value = v[i];
                max_index = i;
            }
        }
                
        cout << min_index << " " << max_index << endl;
        if(min_index == max_index){
            cout << "QAQ" << endl;
            return 0;
        }
        
        v[min_index]--;
        v[max_index]--;
        ans[min_index][max_index]++;
        ans[max_index][min_index]++;
    }
    
    for(int i = 0; i < n; i++){
        for(int j = 0; j < n; j++){
            cout << ans[i][j] << " ";
        }
        cout << "\n";
    }
        
    
}

Test details

Test 1

Verdict:

input
2
78 16

correct output
QAQ

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

Test 2

Verdict:

input
2
87 93

correct output
QAQ

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

Test 3

Verdict:

input
2
63 29

correct output
QAQ

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

Test 4

Verdict:

input
2
64 28

correct output
QAQ

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

Test 5

Verdict:

input
1
74

correct output
QAQ

user output
0 0
QAQ

Test 6

Verdict:

input
3
69 68 31

correct output
0 53 16 
53 0 15 
16 15 0 

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

Test 7

Verdict:

input
3
63 24 69

correct output
0 9 54 
9 0 15 
54 15 0 

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

Test 8

Verdict:

input
3
3 23 60

correct output
QAQ

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

Test 9

Verdict:

input
1
94

correct output
QAQ

user output
0 0
QAQ

Test 10

Verdict: ACCEPTED

input
2
43 30

correct output
QAQ

user output
QAQ

Test 11

Verdict:

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
63 47
63 47
70 4
70 64
65 47
...

Test 12

Verdict:

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
50 15
27 7
27 35
27 15
27 7
...

Test 13

Verdict:

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
17 5
17 5
17 9
17 5
17 9
...

Test 14

Verdict:

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
12 7
12 7
12 7
12 7
12 1
...

Test 15

Verdict:

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
37 40
18 9
18 40
4 9
4 40
...

Test 16

Verdict:

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
44 50
44 11
52 9
52 50
52 11
...

Test 17

Verdict:

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
24 8
24 13
24 11
24 8
24 13
...

Test 18

Verdict:

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
41 26
14 50
14 44
14 26
15 56
...

Test 19

Verdict:

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
19 13
10 13
10 13
10 12
16 13
...

Test 20

Verdict:

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
2 31
41 31
41 10
41 31
41 10
...

Test 21

Verdict:

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 77
64 77
46 77
46 77
46 77
...

Test 22

Verdict:

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
23 46
23 46
23 18
27 46
27 18
...

Test 23

Verdict:

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
4 13
4 10
4 2
4 13
4 10
...

Test 24

Verdict:

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
45 48
45 48
45 12
45 48
33 12
...

Test 25

Verdict:

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
38 41
38 23
38 41
38 23
38 41
...

Test 26

Verdict:

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 16
0 13
1 16
1 13
1 8
...

Test 27

Verdict:

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
8 59
37 59
37 61
37 59
37 50
...

Test 28

Verdict:

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
35 62
35 57
35 62
35 57
35 50
...

Test 29

Verdict:

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
22 48
9 48
9 5
9 48
9 24
...

Test 30

Verdict:

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
12 53
20 53
20 53
20 44
20 53
...