# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1098653 | 2024-10-09T16:21:43 Z | vjudge1 | 벽 (IOI14_wall) | C++17 | 0 ms | 0 KB |
void buildWall(int n, int k, int op[], int left[], int right[],int height[], int finalHeight[]){ long long int dp[n+5]; memset(dp,0,sizeof(dp)); for(int i=0;i<k;i++){ left[i]--,right[i]--; if(op[i]==1){ dp[left[i]]+=1LL*height[i],dp[right[i]+1]-=1LL*height[i]; }else{ dp[left[i]]-=1LL*height[i],dp[right[i]+1]+=1LL*height[i]; } }long long int cur = 0; for(int i=0;i<n;i++){ cur+=dp[i]; finalHeight[i]=cur; }return; }