QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#59993 | #1845. Permute | CharlieVinnie | ML | 338ms | 3724kb | C++17 | 2.8kb | 2022-11-02 12:53:27 | 2022-11-02 12:53:29 |
Judging History
answer
#include <bits/stdc++.h>
#define For(i,a,b) for(int i=a;i<=b;i++)
#define Rev(i,a,b) for(int i=a;i>=b;i--)
#define Fin(file) freopen(file,"r",stdin)
#define Fout(file) freopen(file,"w",stdout)
using namespace std;
const int N=0; typedef long long ll;
const int A[6]={1,3,2,6,4,5};
int calc(int x,int c){
int res=0; For(i,0,c%6-1) res+=A[i];
return res*x%7;
}
void print(vector< pair<int,int> > ans){
cout<<ans.size()<<'\n';
for(auto pr:ans) cout<<pr.second<<' '<<pr.first<<'\n';
}
int cy;
void solve(int T){
vector<int> a(10); For(i,0,9) cin>>a[i];
// if(T==1&&a[0]==2) cy=1;
// if(cy){
// if(T==121) { For(i,0,9) cout<<a[i]<<' '; cout<<endl; }
// return;
// }
vector<int> cnt(7); For(i,0,9) cnt[i%7]+=a[i];
vector<int> lis; For(i,0,6) if(cnt[i]) lis.push_back(i);
vector<int> tmp(7); vector< pair<int,int> > ans;
if(lis.size()>=4u){
For(i,0,3) tmp[lis[i]]=1;
}
else if(lis.size()==3u){
int c2=0; For(i,0,2) if(cnt[lis[i]]>=2) c2++;
if(c2>=2){
c2=2; For(i,0,2) if(c2&&cnt[lis[i]]>=2) { c2--; tmp[lis[i]]=2; } else tmp[lis[i]]=1;
}
else{
int c5=-1; For(i,0,2) if(cnt[lis[i]]>=5) { c5=i; break; }
if(c5!=-1){
For(i,0,2) if(i==c5) tmp[lis[i]]=5; else tmp[lis[i]]=1;
}
else{
tmp=cnt;
}
}
}
else if(lis.size()==2u){
if(cnt[lis[0]]>=3&&cnt[lis[1]]>=2){
tmp[lis[0]]=3; tmp[lis[1]]=2;
}
else if(cnt[lis[0]]>=2&&cnt[lis[1]]>=3){
tmp[lis[0]]=2; tmp[lis[1]]=3;
}
else{
tmp=cnt;
}
}
else{
int u=lis[0];
if(calc(u,cnt[u])==0){
For(i,0,9) if(i%7==u) ans.emplace_back(i,a[i]);
print(ans);
}
else{
cout<<"-1\n";
}
return;
}
int cur=0; vector<int> cp;
For(i,0,9){
if(a[i]>=tmp[i%7]) { ans.emplace_back(i,a[i]-tmp[i%7]); cur=(cur*A[(a[i]-tmp[i%7])%6]+calc(i,a[i]-tmp[i%7]))%7; while(tmp[i%7]--){cp.push_back(i);} tmp[i%7]=0; }
else For(_,1,a[i]) { tmp[i%7]--; cp.push_back(i); }
}
sort(cp.begin(),cp.end());
int sz=cp.size(),ok=0;
do{
int res=cur*A[sz%6]%7;
For(i,0,sz-1) res=(res+cp[i]*A[i%6])%7;
if(res==0){
ok=1; Rev(i,sz-1,0) ans.emplace_back(cp[i],1);
break;
}
}while(next_permutation(cp.begin(),cp.end()));
if(ok) print(ans);
else cout<<"-1\n";
}
signed main(){
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int T,Ti=0; cin>>T; while(T--) solve(++Ti);
cerr<<"Time = "<<clock()<<" ms"<<endl;
return 0;
}
// START TYPING IF YOU DON'T KNOW WHAT TO DO
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3628kb
input:
3 0 1 0 0 1 0 0 0 0 0 0 2 0 0 0 0 1 0 0 1 0 1000000000 0 0 0 0 0 0 0 0
output:
12 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 1 1 4 13 0 0 0 1 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 9 1 6 1 1 1 1 -1
result:
ok T=3
Test #2:
score: 0
Accepted
time: 248ms
memory: 3560kb
input:
100000 0 0 0 1 0 1 1 1 0 1 1 1 0 0 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 1 1 0 1 1 1 0 1 0 0 0 0 1 1 0 0 1 0 1 0 1 1 0 0 1 1 0 0 1 0 0 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 0 0 1 0 0 0 1 1 1 1 1 1 1 0 1 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1...
output:
12 0 1 0 3 0 4 0 5 1 6 0 7 0 8 0 9 1 9 1 5 1 7 1 3 14 0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 1 8 0 9 1 6 1 4 1 0 1 1 14 0 0 0 1 0 2 0 3 0 4 0 5 0 6 1 7 0 8 1 9 1 0 1 3 1 2 1 1 13 0 1 0 2 0 3 0 4 0 5 1 6 0 7 1 8 0 9 1 7 1 5 1 1 1 2 13 0 0 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 1 6 1 4 1 8 1 2 -1 12 0 0 0 3 0 4 0 5...
result:
ok T=100000
Test #3:
score: 0
Accepted
time: 267ms
memory: 3640kb
input:
100000 2 1 2 1 0 1 1 0 2 0 1 2 0 1 1 2 1 1 2 1 2 2 2 1 0 2 1 1 2 2 1 1 0 2 0 2 0 1 2 0 1 0 2 2 1 2 1 0 2 2 0 1 2 2 2 1 0 2 1 2 1 1 2 0 0 1 1 0 1 0 1 0 2 2 2 0 1 0 1 1 2 1 1 2 1 0 2 0 0 1 1 0 2 2 2 0 2 1 0 1 2 0 1 1 1 1 1 1 2 1 0 1 1 0 2 0 2 0 1 2 2 1 1 0 2 0 2 1 0 1 1 2 2 2 0 2 1 1 1 0 2 0 0 2 0 2 2...
output:
14 1 0 0 1 1 2 0 3 0 4 1 5 1 6 0 7 2 8 0 9 1 2 1 0 1 3 1 1 13 0 0 1 1 0 3 1 4 2 5 1 6 1 7 2 8 0 9 1 9 1 1 1 0 1 3 14 1 0 1 1 1 2 0 3 0 4 2 5 1 6 1 7 2 8 2 9 1 3 1 2 1 1 1 0 14 0 0 0 1 0 2 1 3 0 4 1 5 0 6 1 7 2 8 0 9 1 5 1 0 1 3 1 1 13 0 0 1 2 1 3 1 4 2 5 1 6 0 7 1 8 2 9 1 2 1 8 1 3 1 0 13 0 1 1 2 1 ...
result:
ok T=100000
Test #4:
score: 0
Accepted
time: 262ms
memory: 3724kb
input:
100000 1 3 3 2 3 0 2 1 3 2 3 1 2 0 0 3 1 0 0 1 3 2 0 2 0 2 0 1 3 1 0 1 0 3 1 1 0 3 0 2 2 2 2 3 3 3 1 0 3 0 0 3 0 2 0 3 2 0 2 3 3 0 1 1 3 3 2 1 3 1 1 2 3 0 1 2 2 0 2 3 3 1 0 3 2 0 2 3 1 0 2 1 2 3 0 2 2 3 1 2 3 3 0 3 0 0 1 1 1 1 1 3 1 0 2 1 0 3 3 3 3 0 0 3 3 2 3 3 2 1 3 3 3 1 0 2 3 0 2 3 3 3 1 3 3 2 3...
output:
14 0 0 2 1 2 2 1 3 3 4 0 5 2 6 1 7 3 8 2 9 1 3 1 1 1 2 1 0 14 2 0 0 1 1 2 0 3 0 4 2 5 1 6 0 7 0 8 1 9 1 1 1 5 1 2 1 0 13 2 0 1 1 1 3 0 4 2 5 0 6 1 7 3 8 0 9 1 9 1 1 1 0 1 3 12 0 1 2 3 1 4 1 5 0 6 2 7 0 8 1 9 1 3 1 9 1 7 1 1 14 1 0 1 1 1 2 2 3 3 4 3 5 1 6 0 7 3 8 0 9 1 2 1 3 1 1 1 0 13 0 0 2 1 1 3 0 ...
result:
ok T=100000
Test #5:
score: 0
Accepted
time: 262ms
memory: 3688kb
input:
100000 0 1 3 1 1 0 1 3 0 1 4 3 4 1 3 4 3 4 2 3 1 3 1 3 3 4 3 4 2 2 1 0 1 0 3 3 3 1 1 1 3 4 1 3 1 0 1 2 1 2 0 1 2 1 4 1 0 3 4 2 0 4 1 2 4 3 2 1 1 3 0 4 0 4 2 1 0 2 1 3 4 4 0 4 4 1 4 1 4 1 1 3 2 1 1 4 2 3 4 1 3 3 4 3 3 4 1 2 1 4 3 1 4 0 3 0 4 3 1 4 3 0 3 2 3 4 2 3 1 3 3 1 2 4 3 4 2 4 1 1 2 1 0 2 2 3 2...
output:
13 0 1 2 2 0 3 1 4 0 5 1 6 2 7 0 8 1 9 1 3 1 2 1 7 1 1 14 3 0 2 1 3 2 0 3 3 4 4 5 3 6 4 7 2 8 3 9 1 2 1 0 1 3 1 1 14 0 0 2 1 0 2 2 3 3 4 4 5 3 6 4 7 2 8 2 9 1 3 1 2 1 1 1 0 13 0 0 0 2 0 3 2 4 3 5 3 6 1 7 0 8 1 9 1 2 1 8 1 4 1 0 14 2 0 3 1 0 2 2 3 1 4 0 5 1 6 2 7 1 8 2 9 1 3 1 1 1 2 1 0 13 0 1 1 2 0 ...
result:
ok T=100000
Test #6:
score: 0
Accepted
time: 273ms
memory: 3688kb
input:
100000 0 2 1 4 1 4 1 1 3 4 2 3 3 1 3 4 2 1 1 1 1 2 1 3 3 1 1 5 0 0 1 4 0 3 1 1 0 0 0 4 4 3 5 0 0 0 4 2 5 1 3 2 5 1 2 5 0 0 0 1 2 0 5 3 1 3 0 5 1 3 0 2 5 4 5 5 1 1 1 0 1 3 1 4 4 5 2 2 2 1 2 1 2 1 0 0 1 2 5 1 0 2 0 4 5 4 5 2 0 3 5 3 5 5 2 2 4 0 5 5 3 4 2 2 5 1 5 0 3 4 0 3 3 0 5 3 3 4 3 5 0 3 5 4 3 3 4...
output:
13 1 1 0 2 3 3 1 4 4 5 1 6 0 7 3 8 4 9 1 3 1 2 1 7 1 1 14 1 0 2 1 2 2 0 3 3 4 4 5 2 6 1 7 1 8 1 9 1 2 1 3 1 1 1 0 14 0 0 1 1 0 2 2 3 3 4 1 5 1 6 5 7 0 8 0 9 1 0 1 3 1 2 1 1 13 0 0 3 1 2 3 1 4 1 5 0 6 0 7 0 8 3 9 1 9 1 1 1 3 1 0 14 3 0 2 1 4 2 0 3 0 4 0 5 3 6 2 7 5 8 1 9 1 1 1 2 1 6 1 0 14 2 0 1 1 4 ...
result:
ok T=100000
Test #7:
score: 0
Accepted
time: 277ms
memory: 3632kb
input:
100000 5 5 0 1 0 3 1 5 3 6 0 5 1 4 2 1 1 5 3 4 1 3 0 5 0 2 4 1 5 5 4 5 4 5 3 5 6 3 1 3 6 0 5 3 3 6 3 5 6 3 6 3 4 4 4 0 0 1 6 3 0 5 2 4 2 4 2 5 3 3 2 4 4 5 1 0 5 6 2 3 3 0 3 5 4 3 3 5 2 6 6 3 6 2 0 5 0 2 2 4 5 3 6 2 2 5 6 4 4 2 0 6 4 3 3 6 0 3 4 4 6 5 1 1 2 6 3 6 5 4 1 3 6 5 0 3 0 1 3 2 6 4 5 2 2 6 1...
output:
13 4 0 4 1 0 3 0 4 3 5 1 6 5 7 3 8 5 9 1 1 1 9 1 3 1 0 13 4 1 0 2 3 3 2 4 1 5 1 6 4 7 3 8 4 9 1 3 1 7 1 2 1 1 13 0 0 2 1 4 3 0 4 2 5 4 6 1 7 5 8 4 9 1 9 1 1 1 0 1 3 14 3 0 4 1 3 2 4 3 3 4 5 5 6 6 3 7 1 8 3 9 1 1 1 0 1 3 1 2 13 5 0 4 2 2 3 3 4 6 5 3 6 5 7 5 8 3 9 1 0 1 8 1 3 1 2 14 5 0 2 1 3 2 3 3 4 ...
result:
ok T=100000
Test #8:
score: 0
Accepted
time: 270ms
memory: 3552kb
input:
100000 0 1 3 6 5 0 5 1 1 4 2 3 7 4 3 2 2 3 7 7 6 4 5 6 7 0 1 7 0 1 1 6 1 2 5 2 5 6 0 2 6 3 0 4 4 5 4 0 4 1 6 4 7 4 3 0 3 5 3 7 0 4 0 0 7 0 3 1 2 4 1 2 6 2 1 0 3 1 2 5 7 3 7 4 1 6 1 3 1 5 7 1 6 4 6 5 2 2 1 5 4 1 7 3 0 3 4 1 3 6 7 5 3 3 1 6 3 5 5 1 2 5 5 7 1 2 5 6 1 6 0 0 7 2 0 0 4 7 1 1 0 5 4 1 7 1 1...
output:
13 0 1 2 2 5 3 5 4 0 5 5 6 0 7 1 8 4 9 1 2 1 3 1 7 1 1 14 1 0 2 1 6 2 3 3 3 4 2 5 2 6 3 7 7 8 7 9 1 2 1 3 1 1 1 0 14 5 0 3 1 4 2 5 3 7 4 0 5 1 6 7 7 0 8 1 9 1 2 1 3 1 1 1 0 14 0 0 5 1 0 2 1 3 5 4 2 5 5 6 6 7 0 8 2 9 1 3 1 1 1 2 1 0 13 5 0 2 1 3 3 4 4 5 5 4 6 0 7 4 8 0 9 1 0 1 3 1 9 1 1 14 5 0 3 1 6 ...
result:
ok T=100000
Test #9:
score: 0
Accepted
time: 273ms
memory: 3552kb
input:
100000 7 3 4 5 2 6 6 3 6 0 8 3 8 6 5 1 8 2 7 7 5 1 8 4 7 0 1 1 1 0 1 1 8 7 8 0 6 2 3 7 5 2 1 3 5 8 4 5 1 0 8 7 7 5 3 3 3 6 5 6 4 1 5 0 7 8 0 8 1 4 5 2 6 5 5 2 0 6 8 2 3 0 0 1 7 2 3 1 3 5 2 4 1 3 7 3 3 3 1 5 2 7 8 2 1 8 0 2 1 7 1 5 7 8 1 6 2 3 6 2 0 0 1 6 7 6 8 2 2 0 4 0 3 1 4 3 0 4 7 5 3 3 7 0 6 8 8...
output:
14 6 0 2 1 3 2 4 3 2 4 6 5 6 6 3 7 6 8 0 9 1 0 1 3 1 2 1 1 14 7 0 2 1 7 2 5 3 5 4 1 5 8 6 2 7 7 8 7 9 1 2 1 1 1 3 1 0 14 4 0 0 1 7 2 3 3 7 4 0 5 1 6 1 7 1 8 0 9 1 2 1 1 1 3 1 0 14 0 0 0 1 7 2 6 3 8 4 0 5 6 6 2 7 3 8 7 9 1 2 1 0 1 3 1 1 14 4 0 1 1 0 2 2 3 5 4 8 5 4 6 5 7 1 8 0 9 1 2 1 3 1 1 1 0 14 7 ...
result:
ok T=100000
Test #10:
score: 0
Accepted
time: 272ms
memory: 3556kb
input:
100000 7 8 0 3 2 6 7 9 8 7 7 8 8 5 0 0 6 8 7 7 6 6 0 8 8 9 9 2 1 8 4 7 7 8 2 1 1 3 5 4 1 6 9 6 6 4 0 5 0 2 7 1 7 1 1 2 9 8 5 7 5 3 6 6 1 1 8 4 5 8 4 5 3 0 9 2 8 5 5 4 0 4 9 2 1 4 1 4 0 1 3 4 7 9 0 8 6 5 8 5 4 1 2 1 0 0 2 0 4 9 2 9 0 9 5 7 4 7 6 5 9 3 4 5 9 6 3 2 0 2 3 2 3 4 7 4 6 6 0 7 7 1 5 9 5 6 1...
output:
13 6 0 7 1 2 3 2 4 6 5 7 6 9 7 8 8 6 9 1 9 1 1 1 0 1 3 14 6 0 7 1 7 2 4 3 0 4 0 5 6 6 8 7 7 8 7 9 1 2 1 0 1 3 1 1 13 5 0 5 1 7 3 8 4 9 5 9 6 2 7 1 8 7 9 1 1 1 9 1 3 1 0 14 3 0 6 1 6 2 7 3 2 4 1 5 1 6 3 7 5 8 4 9 1 3 1 2 1 1 1 0 14 0 0 5 1 8 2 5 3 6 4 4 5 0 6 5 7 0 8 2 9 1 2 1 3 1 1 1 0 14 6 0 0 1 6 ...
result:
ok T=100000
Test #11:
score: 0
Accepted
time: 274ms
memory: 3576kb
input:
100000 0 8 3 9 3 7 10 1 5 1 7 7 2 3 5 7 4 5 2 6 6 1 7 7 6 3 4 5 10 7 7 3 3 8 9 0 1 8 1 5 0 6 1 0 5 2 0 4 7 3 9 7 7 3 1 7 8 10 8 7 4 7 3 7 0 2 2 10 0 10 8 9 5 1 4 7 4 6 4 9 1 1 7 7 8 5 7 5 3 2 3 6 6 8 4 5 5 10 3 10 10 1 7 5 1 5 6 5 9 0 9 1 0 0 0 3 6 1 0 0 5 9 9 8 10 8 1 1 1 4 2 5 10 5 7 3 7 2 4 6 1 8...
output:
13 7 1 2 2 8 3 3 4 7 5 10 6 0 7 5 8 1 9 1 2 1 3 1 7 1 1 14 6 0 6 1 1 2 2 3 5 4 7 5 4 6 5 7 2 8 6 9 1 3 1 1 1 2 1 0 14 5 0 0 1 6 2 6 3 6 4 3 5 4 6 5 7 10 8 7 9 1 1 1 0 1 3 1 2 14 6 0 2 1 2 2 7 3 9 4 0 5 1 6 8 7 1 8 5 9 1 3 1 2 1 1 1 0 13 5 1 0 2 0 3 4 4 2 5 0 6 3 7 7 8 3 9 1 4 1 7 1 2 1 1 14 8 0 6 1 ...
result:
ok T=100000
Test #12:
score: 0
Accepted
time: 338ms
memory: 3584kb
input:
100000 494719969 120370150 440274545 51278543 770105708 138663251 867692060 230246532 162623412 131761825 16498099 70750104 350416959 359532393 346253463 539196901 104480711 629723297 27266106 267471731 320561715 423589912 850677494 604957917 815663121 8935553 252297110 812216267 821793396 495865924...
output:
14 494719968 0 120370149 1 440274544 2 51278542 3 770105708 4 138663251 5 867692060 6 230246532 7 162623412 8 131761825 9 1 2 1 3 1 1 1 0 14 16498098 0 70750103 1 350416958 2 359532392 3 346253463 4 539196901 5 104480711 6 629723297 7 27266106 8 267471731 9 1 3 1 2 1 1 1 0 14 320561714 0 423589911 1...
result:
ok T=100000
Test #13:
score: -100
Memory Limit Exceeded
input:
100000 1 0 0 0 0 0 738556701 0 0 0 0 376417170 0 0 0 1 0 0 0 0 0 0 0 169526540 0 1 0 0 0 0 0 0 1 0 0 0 0 0 822697278 0 0 0 0 0 121828077 0 0 0 1 0 0 994528277 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 771142048 0 0 0 0 0 77945594 0 0 1 0 1 0 0 0 963629977 0 0 0 0 0 0 0 0 1 0 805871384 0 0 0 0 0 0 0 0 306368...