#include <bits/stdc++.h>
#define f first
#define s second
#define ent '\n'
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#pragma GCC optimize("Ofast,unroll-loops,fast-math,O3")
typedef long long ll;
using namespace std;
struct seg{
int m1,m2,sum,cnt;
};
const string out[2]={"NO\n","YES\n"};
const ll dx[]={0,1,0,-1,-1,1,1,-1};
const ll dy[]={1,0,-1,0,-1,1,-1,1};
const int mod=998244353;
const int md=1e9+7;
const int mx=2e3+12;
const bool T=0;
bool used[2001][2001];
int n;
void dfs(int x,int y){
used[x][y]=1;
for(int i=0;i<4;i++){
int x1=dx[i]+x,y1=dy[i]+y;
if(min(x1,y1)>=0 && max(x1,y1)<n && !used[x1][y1]){
dfs(x1,y1);
}
}
}
int biggest_stadium(int N, vector<vector<int>> a){
int sum=0;
n=N;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
sum+=!a[i][j];
if(a[i][j]){
used[i][j]=1;
}
}
}
bool ok=0;
int pos=0;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(!used[i][j]){
pos=i;
if(ok)return 0;
ok=1;
dfs(i,j);
}
}
}
int l=-1,r=-1;
vector<pair<int,int>> v;
for(int i=pos;i<n;i++) {
int tl = -1, tr = -1, sum = 0;
for (int j = 0; j < n; j++) {
if (!a[i][j]) {
ok = 1;
if (tl == -1) {
tl = j;
}
tr = j;
sum++;
}
}
if (tl==-1){
break;
}
if(sum!=tr-tl+1){
return 0;
}
v.push_back({tl,tr});
}
for(int i=0;i<v.size();i++){
auto [l,r]=v[i];
int mxl=l, mnr=r;
for(int j=i+1;j<v.size();j++){
auto [tl, tr]=v[j];
mxl=max(mxl,tl);
mnr=min(mnr,tr);
if(tr > r && mxl > l)return 0;
if(tl < l && mnr < r)return 0;
if(tr < r && mxl > tl)return 0;
if(tl > l && mnr < tr)return 0;
}
}
return sum;
}
Compilation message
soccer.cpp: In function 'int biggest_stadium(int, std::vector<std::vector<int> >)':
soccer.cpp:82:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
82 | for(int i=0;i<v.size();i++){
| ~^~~~~~~~~
soccer.cpp:85:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
85 | for(int j=i+1;j<v.size();j++){
| ~^~~~~~~~~
soccer.cpp:60:9: warning: unused variable 'l' [-Wunused-variable]
60 | int l=-1,r=-1;
| ^
soccer.cpp:60:14: warning: unused variable 'r' [-Wunused-variable]
60 | int l=-1,r=-1;
| ^
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Partially correct |
1 ms |
348 KB |
partial |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
348 KB |
ok |
2 |
Correct |
0 ms |
444 KB |
ok |
3 |
Correct |
0 ms |
348 KB |
ok |
4 |
Correct |
0 ms |
348 KB |
ok |
5 |
Correct |
1 ms |
348 KB |
ok |
6 |
Partially correct |
1 ms |
344 KB |
partial |
7 |
Partially correct |
2 ms |
1628 KB |
partial |
8 |
Partially correct |
34 ms |
28556 KB |
partial |
9 |
Partially correct |
595 ms |
415448 KB |
partial |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1 ms |
348 KB |
ok |
2 |
Correct |
0 ms |
444 KB |
ok |
3 |
Partially correct |
1 ms |
348 KB |
partial |
4 |
Incorrect |
0 ms |
348 KB |
wrong |
5 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Partially correct |
1 ms |
348 KB |
partial |
2 |
Correct |
1 ms |
348 KB |
ok |
3 |
Correct |
0 ms |
444 KB |
ok |
4 |
Partially correct |
1 ms |
348 KB |
partial |
5 |
Incorrect |
0 ms |
348 KB |
wrong |
6 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Partially correct |
1 ms |
348 KB |
partial |
2 |
Correct |
1 ms |
348 KB |
ok |
3 |
Correct |
0 ms |
444 KB |
ok |
4 |
Correct |
0 ms |
348 KB |
ok |
5 |
Correct |
0 ms |
348 KB |
ok |
6 |
Partially correct |
1 ms |
348 KB |
partial |
7 |
Incorrect |
0 ms |
348 KB |
wrong |
8 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Partially correct |
1 ms |
348 KB |
partial |
2 |
Correct |
1 ms |
348 KB |
ok |
3 |
Correct |
0 ms |
444 KB |
ok |
4 |
Correct |
0 ms |
348 KB |
ok |
5 |
Correct |
0 ms |
348 KB |
ok |
6 |
Partially correct |
1 ms |
348 KB |
partial |
7 |
Incorrect |
0 ms |
348 KB |
wrong |
8 |
Halted |
0 ms |
0 KB |
- |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Partially correct |
1 ms |
348 KB |
partial |
2 |
Correct |
1 ms |
348 KB |
ok |
3 |
Correct |
0 ms |
444 KB |
ok |
4 |
Correct |
0 ms |
348 KB |
ok |
5 |
Correct |
0 ms |
348 KB |
ok |
6 |
Correct |
1 ms |
348 KB |
ok |
7 |
Partially correct |
1 ms |
344 KB |
partial |
8 |
Partially correct |
2 ms |
1628 KB |
partial |
9 |
Partially correct |
34 ms |
28556 KB |
partial |
10 |
Partially correct |
595 ms |
415448 KB |
partial |
11 |
Partially correct |
1 ms |
348 KB |
partial |
12 |
Incorrect |
0 ms |
348 KB |
wrong |
13 |
Halted |
0 ms |
0 KB |
- |