Submission #14453

#TimeUsernameProblemLanguageResultExecution timeMemory
14453yys980정전 (OJUZ10_blackout)C++98
50 / 100
52 ms8112 KiB
#include <stdio.h> #include <algorithm> using namespace std; int n,l,sum; int slight[300000],elight[300000]; int group[300000][2],gcnt; int allight[300000][2],acnt; int main() { scanf("%d %d",&n, &l); int i,j; for(i = 1 ; i <= n ; i++){ scanf("%d",&slight[i]); slight[i]-=l; } sort(slight+1,slight+1+n); for(i = 1 ; i <= n ; i++)elight[i]=slight[i]+l*2; group[gcnt][0]=1; for(i = 1 ; i <= n ; i++){ if(elight[i]<slight[i+1] || i==n){ group[gcnt][1]=i; group[++gcnt][0]=i+1; } } for(i = 0 ; i < gcnt ; i++){ for(j = group[i][0] ; j <= group[i][1] ; j++){ if(j+1 > group[i][1])continue; allight[acnt][0]=slight[j+1]; allight[acnt][1]=elight[j]; if(acnt>=1 && allight[acnt][0]<allight[acnt-1][1]){ allight[acnt-1][1]=allight[acnt][1]; allight[acnt][0]=allight[acnt][1]=0; } else acnt++; } } for(i = 0 ; i < acnt ; i++){ sum+=(allight[i][1]-allight[i][0]); } printf("%d",sum); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...