Submission #1226746

#TimeUsernameProblemLanguageResultExecution timeMemory
1226746MarwenElarbiSoccer Stadium (IOI23_soccer)C++17
0 / 100
1 ms328 KiB
#include "soccer.h"
#include <bits/stdc++.h>
using namespace std;
#define fi first
#define se second
int biggest_stadium(int N, std::vector<std::vector<int>> F)
{
    pair<int,int> tab[2][N];
    int ans=0;
    for (int i = 0; i < N; ++i){
        tab[0][i].fi=tab[1][i].fi=1e9;
        tab[0][i].se=tab[1][i].se=-1e9;
    }
    for (int i = 0; i < N; ++i)
    {
        bool test=false;
        bool test1=false;
        for (int j = 0; j < N; ++j)
        {
            if(F[i][j]==0){
                tab[0][i].fi=min(tab[0][i].fi,j);
                tab[0][i].se=max(tab[0][i].se,j);
                ans++;
            }
            if(F[i][j]==1){
                test=true;
            }
            if(F[i][j]==0&&test){
                test1=true;  
            } 
            if(F[i][j]==1&&test1) return 0;
        }
    }
    for (int i = 0; i < N; ++i)
    {
        bool test=false;
        bool test1=false;
        for (int j = 0; j < N; ++j)
        {
            if(F[j][i]==0){
                tab[1][i].fi=min(tab[1][i].fi,j);
                tab[1][i].se=max(tab[1][i].se,j);
            }
            if(F[j][i]==1) {
                test=true;
            }
            if(F[j][i]==0&&test) {
                test1=true;
            }
            if(F[j][i]==1&&test1) return 0;
        }
    }
    //cout << "hey"<<endl;
    pair<int,int> cur={0,N-1};
    /*for (int i = 0; i < N; ++i)
    {
        cout << tab[0][i].fi<<" "<<tab[0][i].se<<endl;
    }*/
    for (int i = 0; i < N; ++i)
    {
        if(tab[0][i].fi>cur.se) return 0;
        else if(tab[0][i].se<cur.fi) return 0;
        cur.fi=max(cur.fi,tab[0][i].fi);
        cur.se=min(cur.se,tab[0][i].se);
    }
    cur={0,N-1};
    for (int i = 0; i < N; ++i)
    {
        if(tab[1][i].fi>cur.se) return 0;
        else if(tab[1][i].se<cur.fi) return 0;
        cur.fi=max(cur.fi,tab[1][i].fi);
        cur.se=min(cur.se,tab[1][i].se);
    }
    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...