#include "soccer.h"
#include<bits/stdc++.h>
using namespace std;
const long long inf = 1e18 + 10;
const int inf1 = 1e9 + 10;
#define int long long
#define dbl long double
#define endl '\n'
#define sc second
#define fr first
#define mp make_pair
#define pb push_back
#define all(x) x.begin(), x.end()
mt19937_64 rng(chrono::system_clock::now().time_since_epoch().count());
const int maxn = -1;
int32_t biggest_stadium(int32_t n, std::vector<std::vector<int32_t>> F)
{
int ans = 1;
{
vector<int> mnl(n),mxl(n),qtdl(n);
for(int i = 0; i < n; i++) {
mnl[i] = inf;
mxl[i] = -inf;
qtdl[i] = 0;
for(int j = 0; j < n; j++) {
if(F[i][j] == 0) {
qtdl[i]++;
mnl[i] = min(mnl[i],j);
mxl[i] = max(mxl[i],j);
}
}
}
int difmn = 1;
int difmx = 1;
// +1 -> increasing
// 0 -> equal
// -1 -> decreasing
for(int i = 0; i < n; i++) {
if(qtdl[i] != 0 and qtdl[i] != mxl[i]-mnl[i]+1) {
ans = 0;
}
int difmn1 = 0;
int difmx1 = 0;
if(i != 0) {
if(mnl[i] < mnl[i-1]) difmn1 = 1; // increasing
if(mnl[i] > mnl[i-1]) difmn1 = -1; // decreasing
if(mxl[i] > mxl[i-1]) difmx1 = 1; // increasing
if(mxl[i] < mxl[i-1]) difmx1 = -1; // decreasing
}
if(difmn == -1 and difmn1 == 1) {
ans = 0;
}
if(difmx = -1 and difmx1 == 1) {
ans = 0;
}
if(difmn1 == -1 and (difmx1 == 1 or difmx == 1)) {
ans = 0;
}
if(difmx1 == -1 and (difmn1 == 1 or difmn == 1)) {
ans = 0;
}
if(difmn1 != 0) difmn = 0;
if(difmx1 != 0) difmx = 0;
}
}
for(int i = 0; i < n ; i++) {
for(int j = 0; j < n; j++) {
if(i < j) swap(F[i][j],F[j][i]);
}
}
{
vector<int> mnl(n),mxl(n),qtdl(n);
for(int i = 0; i < n; i++) {
mnl[i] = inf;
mxl[i] = -inf;
qtdl[i] = 0;
for(int j = 0; j < n; j++) {
if(F[i][j] == 0) {
qtdl[i]++;
mnl[i] = min(mnl[i],j);
mxl[i] = max(mxl[i],j);
}
}
}
int difmn = 1;
int difmx = 1;
// +1 -> increasing
// 0 -> equal
// -1 -> decreasing
for(int i = 0; i < n; i++) {
if(qtdl[i] != 0 and qtdl[i] != mxl[i]-mnl[i]+1) {
ans = 0;
}
int difmn1 = 0;
int difmx1 = 0;
if(i != 0) {
if(mnl[i] < mnl[i-1]) difmn1 = 1; // increasing
if(mnl[i] > mnl[i-1]) difmn1 = -1; // decreasing
if(mxl[i] > mxl[i-1]) difmx1 = 1; // increasing
if(mxl[i] < mxl[i-1]) difmx1 = -1; // decreasing
}
if(difmn == -1 and difmn1 == 1) {
ans = 0;
}
if(difmx = -1 and difmx1 == 1) {
ans = 0;
}
if(difmn1 == -1 and (difmx1 == 1 or difmx == 1)) {
ans = 0;
}
if(difmx1 == -1 and (difmn1 == 1 or difmn == 1)) {
ans = 0;
}
if(difmn1 != 0) difmn = 0;
if(difmx1 != 0) difmx = 0;
}
}
return ans;
}
Compilation message
soccer.cpp: In function 'int32_t biggest_stadium(int32_t, std::vector<std::vector<int> >)':
soccer.cpp:61:22: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
61 | if(difmx = -1 and difmx1 == 1) {
| ~~~~~~^~~~~~~~~~~~~~~~~~~~
soccer.cpp:123:22: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
123 | if(difmx = -1 and difmx1 == 1) {
| ~~~~~~^~~~~~~~~~~~~~~~~~~~
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
1 ms |
344 KB |
partial |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
348 KB |
wrong |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Incorrect |
0 ms |
348 KB |
wrong |
2 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
1 ms |
344 KB |
partial |
2 |
Incorrect |
0 ms |
348 KB |
wrong |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
1 ms |
344 KB |
partial |
2 |
Incorrect |
0 ms |
348 KB |
wrong |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
1 ms |
344 KB |
partial |
2 |
Incorrect |
0 ms |
348 KB |
wrong |
3 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Partially correct |
1 ms |
344 KB |
partial |
2 |
Incorrect |
0 ms |
348 KB |
wrong |
3 |
Halted |
0 ms |
0 KB |
- |