Submission #681

#TimeUsernameProblemLanguageResultExecution timeMemory
681pl0892029파일 삭제 (GA3_delete)C++98
Compilation error
0 ms0 KiB
#include <algorithm> using namespace std; typedef struct edge { int u,v; }edge; bool cmp(edge a,edge b){return a.u<b.u;} edge arr[30000]; int dp[10001]; int n, queue[30000], h,t; int s[30000], e[30000], p[30000], c[30000], num[30000]; int DeletePlan(int N, int M, int K, int *A, int *B) { int i, tmp, ans=1e9; n = h = t = 0; for(i=1;i<M;i++) { s[n]=0, e[n]=0, num[n]=0; p[i]=B[i]; arr[n].u=B[i],arr[n].v=i; n++; } for(i=0;i<N;i++) { s[n]=0, e[n]=0, num[n]=0; p[i+M]=A[i], num[i+M]=1; arr[n].u=A[i],arr[n].v=i+M; n++; } sort(arr,arr+n,cmp); s[0]=0; for(i=1;i<n;i++) { e[arr[i-1].u]=i; if( arr[i-1].u != arr[i].u ) s[arr[i].u]=i; } e[arr[n-1].u]=n; queue[t++]=0; while(h<t) { tmp = queue[h++]; while(s[tmp]<e[tmp]) { queue[t++]=arr[s[tmp]].v; s[tmp]++; c[tmp]++; } } while(--t) { for(i=K;i>num[queue[t]];i--) if( dp[i-num[queue[t]]>0 || i==num[queue[t]] ) dp[i]=dp[i-num[queue[t]]]-c[queue[t]]+1; ans = dp[K]>0 && ans < dp[K] ? ans : dp[K]; } return ans; }

Compilation message (stderr)

grader.cpp:30:2: warning: no newline at end of file
delete.cpp: In function 'int DeletePlan(int, int, int, int*, int*)':
delete.cpp:18: warning: converting to 'int' from 'double'
delete.cpp:58: error: expected `]' before ')' token