QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#514723#9176. Non-Interactive Nimucup-team1231#WA 23ms4076kbC++141.2kb2024-08-11 08:00:512024-08-11 08:00:51

Judging History

你现在查看的是最新测评结果

  • [2024-08-11 08:00:51]
  • 评测
  • 测评结果:WA
  • 用时:23ms
  • 内存:4076kb
  • [2024-08-11 08:00:51]
  • 提交

answer

#include <bits/stdc++.h>
using namespace std;
typedef pair<int,int> pii;
#define MOD 998244353
#define pb push_back
#define mp make_pair
typedef long long int LLI;
typedef vector<int> vi;

LLI a[100000];
int main() {
    int i;
    int t,n;
    scanf("%d",&t);
    while (t--) {
        scanf("%d",&n);
        for (i = 0; i < n; i++) scanf("%lld",&a[i]);
        if (n > 200) printf("-1\n");
        else {
            vector<pii> ans;
            while (1) {
                int m = max_element(a,a+n)-a;
                if (a[m] == 0) {
                    printf("%d\n",ans.size());
                    for (pii p: ans) printf("%d %d\n",p.first+1,p.second);
                    break;
                }
                vi poss;
                for (i = 0; i < n; i++) {
                    if ((i != m) && ((a[i]^a[m]) < a[i])) poss.pb(i);
                }
                if ((poss.size() != 1) || (ans.size() == 100)) {
                    printf("-1\n");
                    break;
                }
                else {
                    ans.pb(mp(m,a[m]));
                    a[poss[0]] ^= a[m];
                    a[m] = 0;
                }
            }
        }
    }

    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 4076kb

input:

2
4
4 2 7 1
4
1 1 1 1

output:

3
3 7
1 3
2 1
-1

result:

ok OK 1 yes 1 no (2 test cases)

Test #2:

score: 0
Accepted
time: 15ms
memory: 3792kb

input:

50000
2
3 3
2
2 2
2
3 3
2
2 2
2
3 3
2
3 3
2
1 1
2
1 1
2
1 1
2
2 2
2
2 2
2
3 3
2
2 2
2
1 1
2
3 3
2
1 1
2
1 1
2
1 1
2
3 3
2
1 1
2
1 1
2
3 3
2
2 2
2
3 3
2
3 3
2
2 2
2
1 1
2
3 3
2
2 2
2
2 2
2
3 3
2
3 3
2
1 1
2
1 1
2
1 1
2
3 3
2
3 3
2
1 1
2
1 1
2
3 3
2
2 2
2
2 2
2
2 2
2
1 1
2
1 1
2
2 2
2
2 2
2
1 1
2
3 3
...

output:

1
1 3
1
1 2
1
1 3
1
1 2
1
1 3
1
1 3
1
1 1
1
1 1
1
1 1
1
1 2
1
1 2
1
1 3
1
1 2
1
1 1
1
1 3
1
1 1
1
1 1
1
1 1
1
1 3
1
1 1
1
1 1
1
1 3
1
1 2
1
1 3
1
1 3
1
1 2
1
1 1
1
1 3
1
1 2
1
1 2
1
1 3
1
1 3
1
1 1
1
1 1
1
1 1
1
1 3
1
1 3
1
1 1
1
1 1
1
1 3
1
1 2
1
1 2
1
1 2
1
1 1
1
1 1
1
1 2
1
1 2
1
1 1
1
1 3
1
1 3
...

result:

ok OK 50000 yes 0 no (50000 test cases)

Test #3:

score: -100
Wrong Answer
time: 23ms
memory: 3792kb

input:

50000
2
89846347117873058 89846347117873058
2
416235892302498917 416235892302498917
2
332154513003612985 332154513003612985
2
43960216631774959 43960216631774959
2
353215896487285554 353215896487285554
2
38296945667390613 38296945667390613
2
209150071115726640 209150071115726640
2
48610805835417777 ...

output:

1
1 -732706910
1
1 -1217049499
1
1 236948281
1
1 -2003431697
1
1 -2027597006
1
1 -2105754475
1
1 -1382432976
1
1 907069617
1
1 -1590423279
1
1 -184398503
1
1 1362194955
1
1 -538128596
1
1 -1851726319
1
1 1712060750
1
1 1654165883
1
1 -1342859856
1
1 -1453378331
1
1 401622420
1
1 -664206506
1
1 -2108...

result:

wrong answer Integer parameter [name=x] equals to -732706910, violates the range [1, 89846347117873058] (test case 1)