fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. // your code goes here
  6. int N,k;
  7. cin>>N>>k;
  8. int q;
  9. cin>>q;
  10. vector<vector<long long>> grid(N, vector<long long>(N,0));
  11. int M = N-k+1;
  12. vector<vector<long long>> sub(M, vector<long long>(M,0));
  13. multiset<long long> ms;
  14. for(int i = 1; i<=M; i++){
  15. for(int j=1;j<=M; j++){
  16. ms.insert(0);
  17. }
  18. }
  19. while(q--){
  20. int r, c;
  21. long long v;
  22. cin>>r>>c>>v;
  23. r--;c--;
  24. long long delta=v-grid[r][c];
  25. grid[r][c]=v;
  26. for(int i =max(0,r-k+1); i<=min(r,M-1); i++){
  27. for(int j =max(0,c-k+1); j<=min(c,M-1); j++){
  28. auto it=ms.find(sub[i][j]);
  29. ms.erase(it);
  30. sub[i][j]+=delta;
  31. ms.insert(sub[i][j]);
  32. }
  33. }
  34. cout<<*ms.rbegin();
  35. if(q!=0){
  36. cout<<endl;
  37. }
  38. }
  39. return 0;
  40. }
Success #stdin #stdout 0s 5312KB
stdin
4 2
3
2 2 11
3 4 3
3 1 100
stdout
11
11
111