Submission #1053128

#TimeUsernameProblemLanguageResultExecution timeMemory
1053128NickpapadakT-Covering (eJOI19_covering)C++14
0 / 100
1 ms508 KiB
#include<bits/stdc++.h> using namespace std; #define XX first #define YY second const unsigned int MAXK = 1e+6 + 10; vector<vector<int>> grid; vector<pair<int,int>> special; int N,M, K; int firsSub(){ int ans = 0; // totalinc = 0/; for(int i = 0; i<K; ++i){ int c = 0; int x = special[i].XX, y = special[i].YY; int u = 0,r=0,l=0,d=0; r += grid[x+1][y]; r += grid[x][y+1]; r += grid[x][y-1]; l += grid[x-1][y]; l += grid[x][y+1]; l += grid[x][y-1]; d += grid[x-1][y]; d += grid[x+1][y]; d += grid[x][y-1]; u += grid[x-1][y]; u += grid[x+1][y]; u += grid[x][y+1]; // int x = special[i].X, y = special[i].Y; ans += grid[x][y]; if(x == 1){ ans += r; c++; } if(x == M){ ans += l; c++; } if(y == 1){ ans += d; c++; } if(y==M){ ans += u; c++; } if(c>=2) return -1; if(c==1) continue; int best = max(l, r); best = max(best, u); ans += max(best, d); } return ans; } int main(){ scanf("%d%d", &N,&M);// N = y M = x grid.resize(M+2, vector<int>(N+2, 0)); for(int y = 1; y <=N;++y){ for(int x = 1; x <=M; ++x){ scanf("%d", &grid[x][y]); // printf("done\n"); } } scanf("%d", &K); for(int i = 1; i<=K; ++i){ int a,b; scanf("%d%d", &a,&b); special.push_back({a+1,b+1}); } int sol = firsSub(); if(sol == -1) printf("No"); else printf("%d", sol); return 0; }

Compilation message (stderr)

covering.cpp: In function 'int main()':
covering.cpp:60:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   60 |     scanf("%d%d", &N,&M);// N = y M = x
      |     ~~~~~^~~~~~~~~~~~~~~
covering.cpp:64:18: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   64 |             scanf("%d", &grid[x][y]);
      |             ~~~~~^~~~~~~~~~~~~~~~~~~
covering.cpp:68:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   68 |     scanf("%d", &K);
      |     ~~~~~^~~~~~~~~~
covering.cpp:71:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   71 |         scanf("%d%d", &a,&b);
      |         ~~~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...