# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1098653 | 2024-10-09T16:21:43 Z | vjudge1 | Wall (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; }