Submission #1272829

#TimeUsernameProblemLanguageResultExecution timeMemory
1272829choedXylophone (JOI18_xylophone)C++20
Compilation error
0 ms0 KiB
#include "xylophone.h" #define ll long long #define fi first #define se second #define pll pair<ll, ll> #define plll pair<ll,pll> static int A[5000]; void solve(int N) { // int value = query(1, N); ll diff[N]; for(int i=1; i<N; i++) diff[i]=query(i,i+1); if(N==2){ answer(1, 1); answer(2, 2); return; } ll konfig[N][2]; // 0 itu awalnya +, 1 awalnya - memset(konfig,0,sizeof(konfig)); ll val = query(1, 3); if(val = diff[1] + diff[2]){ konfig[1][0] = diff[1]; konfig[2][0] = diff[2]; konfig[1][1] = -diff[1]; konfig[2][1] = -diff[2]; }else{ konfig[1][0] = diff[1]; konfig[2][0] = -diff[2]; konfig[1][1] = -diff[1]; konfig[2][1] = diff[2]; } // cari konfig yang mungkin for(int i=3; i<N; i++){ val=query(i-1, i+1); if(val=diff[i-1]+diff[i]){ if(konfig[i-1][0]>0){ konfig[i][0]=diff[i]; konfig[i][1]=-diff[i]; }else{ konfig[i][0]=-diff[i]; konfig[i][1]=diff[i]; } }else{ if(konfig[i-1][0]>0){ konfig[i][0]=-diff[i]; konfig[i][1]=diff[i]; }else{ konfig[i][0]=diff[i]; konfig[i][1]=-diff[i]; } } } ll sum=0; ll mn=0, mnidx=0; ll mx=0, mxidx=0; ll ans[N+1]; // cek kevalid-an konfig pertama dulu --------------------------------- for(int i=1; i<N; i++){ sum+=konfig[i][0]; if(sum<mn){ mn=sum; mnidx=i; } if(sum>mx){ mx=sum; mxidx=i; } } if(mnidx<mxidx){ sum=1; ans[mnidx+1]=1; for(int i=mnidx-1; i>=0; i--){ sum += -konfig[i][0]; ans[i+1] = sum; } sum=1; for(int i=mnidx+1; i<N; i++){ sum += konfig[i][0]; ans[i+1] = sum; } goto done; } // cek konfig kedua ------------------------------------------------- sum=0; mn=mnidx=0; mx=mxidx=0; for(int i=1; i<N; i++){ sum+=konfig[i][1]; if(sum<mn){ mn=sum; mnidx=i; } if(sum>mx){ mx=sum; mxidx=i; } } if(mnidx<mxidx){ sum=1; ans[mnidx+1]=1; for(int i=mnidx-1; i>=0; i--){ sum += -konfig[i][0]; ans[i+1] = sum; } sum=1; for(int i=mnidx+1; i<N; i++){ sum += konfig[i][0]; ans[i+1] = sum; } } // ----------------------------------------------------------------- done: for(int i = 1; i <= N; i++) { answer(i, a[i]); } }

Compilation message (stderr)

xylophone.cpp: In function 'void solve(int)':
xylophone.cpp:25:9: error: 'memset' was not declared in this scope
   25 |         memset(konfig,0,sizeof(konfig));
      |         ^~~~~~
xylophone.cpp:2:1: note: 'memset' is defined in header '<cstring>'; did you forget to '#include <cstring>'?
    1 | #include "xylophone.h"
  +++ |+#include <cstring>
    2 | #define ll long long
xylophone.cpp:131:27: error: 'a' was not declared in this scope
  131 |                 answer(i, a[i]);
      |                           ^