QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#540244 | #8940. Piggy Sort | ucup-team4702# | RE | 0ms | 3732kb | C++17 | 1.3kb | 2024-08-31 16:42:56 | 2024-08-31 16:42:57 |
Judging History
answer
#include<bits/stdc++.h>
#define int long long
using namespace std;
mt19937 g(time(0));
int calc(int x,int y,int z,int a,int b,int k){
return z*b-y*a+(a-b)*k;
}
main(){
ios::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int t; cin>>t;
while(t--){
int n,m; cin>>n>>m;
vector a(m,vector<int>(n));
vector<int> c(m),c2(m),p(m);
for(int i=0;i<m;i++)
for(auto &j:a[i])cin>>j,c[i]+=j,c2[i]+=j*j;
iota(p.begin(),p.end(),0);
sort(p.begin()+1,p.end(),[&](int x,int y){
return c[x]<c[y];
});
vector<int> v(n),r(n),p2(n);
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
for(int k=0;k<n;k++){
int x=a[0][i],y=a[p[1]][j],z=a[p[2]][k],d=g()%(int)1e6+1;
int c20=c2[0]-x*x,c21=c2[p[1]]-y*y,c22=c2[p[2]]-z*z;
int nx=x+d,ny=y+d,nz=z+d;
c20+=nx*nx,c21+=ny*ny,c22+=nz*nz;
int aa=c[p[2]]-c[0],bb=c[p[1]]-c[0];
if(calc(c20,c21,c22,aa,bb,nx*nx)==calc(c2[0],c2[p[1]],c2[p[2]],aa,bb,x*x)) v[i]=y-x;
}
iota(r.begin(),r.end(),0);
sort(r.begin(),r.end(),[&](int x,int y){
return v[x]==v[y]?a[0][x]<a[0][y]:v[x]<v[y];
});
for(int i=0;i<n;i++)
p2[r[i]]=i;
for(int i:p2)cout<<i+1<<' ';
cout<<'\n';
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 0ms
memory: 3732kb
input:
3 2 4 1 2 3 4 5 6 7 8 1 2 1 1 3 4 1 2 3 6 9 9 10 15 17 12 18 21
output:
1 2 1 3 1 2
result:
ok 3 lines
Test #2:
score: -100
Runtime Error
input:
41 1 2 -19 9531 2 3 11 13 3175 4759 2211 3313 10 19 -54 -25 -19 -18 -1 3 61 63 85 88 -54 753 863 2397 3111 4649 4671 4756 5507 7762 -54 369 479 1245 1575 2345 2367 2452 2819 3922 -54 553 663 1797 2311 3449 3471 3556 4107 5762 -54 87 197 399 447 653 675 760 845 1102 -54 320 430 1098 1379 2051 2073 21...