Submission #1007066

#TimeUsernameProblemLanguageResultExecution timeMemory
1007066NeroZeinSoccer Stadium (IOI23_soccer)C++17
1.50 / 100
198 ms31784 KiB
#include "soccer.h"
#include <bits/stdc++.h>
using namespace std;

int biggest_stadium(int n, vector<vector<int>> F) {
  int r = -1, c = -1;
  for (int i = 0; i < n; ++i) {
    for (int j = 0; j < n; ++j) {
      if (F[i][j] == 1) {
        r = i, c = j; 
      }
    }
  }
  if (c == -1) {
    return n * n;
  }
  //cout << "r, c: " << r << ' ' << c << endl; 
  int ans = (c + 1) * (r) + c; //top left
  //cout << "topleft: " << (c + 1) * (r) + c << endl;
  ans = max(ans, (c + 1) * (n - r - 1) + c);//bot left
  //cout << "botleft: " << (c + 1) * (n - r - 1) + c << endl; 
  ans = max(ans, (n - c) * (r) + n - c - 1);//topright
  //cout << "topright: " << (n - c) * (r) + n - c - 1 << endl; 
  ans = max(ans, (n - c) * (n - r - 1) + n - c - 1); //bot right
  //cout << "botright: " << (n - c) * (n - r - 1) + n - c - 1 << endl; 
  int rr = min(r + 1, n - r); 
  int cc = min(c, n - c - 1);
  ans = max(ans, n * n - rr - cc);
  return ans; 
}
#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...