Submission #932182

# Submission time Handle Problem Language Result Execution time Memory
932182 2024-02-23T04:53:02 Z sleepntsheep Palembang Bridges (APIO15_bridge) C++17
22 / 100
52 ms 2204 KB
#include<stdio.h>
unsigned X=12345;int rand_(){return(X*=3)>>1;}
int(*compar)(int,int);
int c0(int a,int b){return a<b?-1:a>b?1:0;}
int abs(int a){return a<0?-a:a;}
void sort(int*aa,int l,int r){
    while(l<r){int i=l,j=l,k=r,tmp,p=aa[l+rand_()%(r-l)];
        while(j<k)switch(compar(aa[j],p)){case 0:++j;break;case -1:tmp=aa[j],aa[j]=aa[i],aa[i]=tmp,++i,++j;break;case 1:tmp=aa[j],aa[j]=aa[--k],aa[k]=tmp;break;}sort(aa,l,i);l=k;} }

int s[1<<17],t[1<<17],k,n0,n;char p,q;long long z;
int main(){
    scanf("%d%d",&k,&n0);for(int w,e,i=0;i<n0;++i){scanf(" %c%d %c%d",&p,&w,&q,&e);if(p-q)s[n]=w,t[n++]=e,++z;else z+=abs(w-e);}

    if(k==1){
        int a[1<<18],m=0;
        for(int i=0;i<n;++i)a[m++]=s[i],a[m++]=t[i];
        compar=c0;sort(a,0,m);
        int me=a[m/2];
        for(int i=0;i<m;++i)z+=abs(a[i]-me);
        printf("%lld",z);
    }
}

Compilation message

bridge.cpp: In function 'void sort(int*, int, int)':
bridge.cpp:8:9: warning: this 'while' clause does not guard... [-Wmisleading-indentation]
    8 |         while(j<k)switch(compar(aa[j],p)){case 0:++j;break;case -1:tmp=aa[j],aa[j]=aa[i],aa[i]=tmp,++i,++j;break;case 1:tmp=aa[j],aa[j]=aa[--k],aa[k]=tmp;break;}sort(aa,l,i);l=k;} }
      |         ^~~~~
bridge.cpp:8:162: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'while'
    8 |         while(j<k)switch(compar(aa[j],p)){case 0:++j;break;case -1:tmp=aa[j],aa[j]=aa[i],aa[i]=tmp,++i,++j;break;case 1:tmp=aa[j],aa[j]=aa[--k],aa[k]=tmp;break;}sort(aa,l,i);l=k;} }
      |                                                                                                                                                                  ^~~~
bridge.cpp: In function 'int main()':
bridge.cpp:12:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 |     scanf("%d%d",&k,&n0);for(int w,e,i=0;i<n0;++i){scanf(" %c%d %c%d",&p,&w,&q,&e);if(p-q)s[n]=w,t[n++]=e,++z;else z+=abs(w-e);}
      |     ~~~~~^~~~~~~~~~~~~~~
bridge.cpp:12:57: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   12 |     scanf("%d%d",&k,&n0);for(int w,e,i=0;i<n0;++i){scanf(" %c%d %c%d",&p,&w,&q,&e);if(p-q)s[n]=w,t[n++]=e,++z;else z+=abs(w-e);}
      |                                                    ~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1372 KB Output is correct
2 Correct 1 ms 1372 KB Output is correct
3 Correct 1 ms 1372 KB Output is correct
4 Correct 1 ms 1368 KB Output is correct
5 Correct 1 ms 1372 KB Output is correct
6 Correct 1 ms 1372 KB Output is correct
7 Correct 1 ms 1372 KB Output is correct
8 Correct 1 ms 1372 KB Output is correct
9 Correct 1 ms 1372 KB Output is correct
10 Correct 1 ms 1372 KB Output is correct
11 Correct 1 ms 1316 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 1372 KB Output is correct
2 Correct 1 ms 1372 KB Output is correct
3 Correct 1 ms 1372 KB Output is correct
4 Correct 1 ms 1372 KB Output is correct
5 Correct 1 ms 1372 KB Output is correct
6 Correct 1 ms 1372 KB Output is correct
7 Correct 1 ms 1400 KB Output is correct
8 Correct 1 ms 1372 KB Output is correct
9 Correct 1 ms 1372 KB Output is correct
10 Correct 1 ms 1372 KB Output is correct
11 Correct 1 ms 1372 KB Output is correct
12 Correct 18 ms 2124 KB Output is correct
13 Correct 52 ms 2204 KB Output is correct
14 Correct 31 ms 1884 KB Output is correct
15 Correct 29 ms 1788 KB Output is correct
16 Correct 20 ms 2140 KB Output is correct
17 Correct 38 ms 2020 KB Output is correct
18 Correct 42 ms 2140 KB Output is correct
19 Correct 48 ms 2140 KB Output is correct
20 Correct 22 ms 2136 KB Output is correct
21 Correct 45 ms 2140 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 1368 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 1372 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 1372 KB Output isn't correct
2 Halted 0 ms 0 KB -