Submission #845714

# Submission time Handle Problem Language Result Execution time Memory
845714 2023-09-06T15:03:20 Z coding_snorlax Soccer Stadium (IOI23_soccer) C++17
9 / 100
258 ms 31764 KB
#include<bits/stdc++.h>
#include "soccer.h"
using namespace std;
pair<int,int> process(vector<int> S){
    int L=-1,R=-1,flag = 1;
    for(int i=0;i<(int)S.size();i++){
        if(!S[i] && L==-1){
            L = i; R = i;
        }
        else if(!S[i] && R==i-1){
            R=i;
        }
        else if(!S[i]){
            flag = 0;
        }
    }
    if(!flag) return make_pair(-2,-2);
    return make_pair(L,R);
}
int check_Left(vector<int> List){
    int answer=1,down=0,flag = 0, Last = -1 , next_level = 0;
    for(int i:List){
        if(i==-2) answer=0;
        else if(i==-1 && Last!=-1) flag = 1;
        else{
            if(flag) answer = 0;
            if(Last==-1) Last = i;
            else{
                if(i>Last && next_level==0) next_level = 1;
                else if(i<Last && next_level==1) answer = 0;
            }
            Last = i;
        }

    }
    if(down > 1 || answer==0) return 0;
    else return 1;
}

int check_Right(vector<int> List){
    int answer=1,down=0,flag = 0, Last = -1 , next_level = 0;
    for(int i:List){
        if(i==-2) answer=0;
        else if(i==-1 && Last!=-1) flag = 1;
        else{
            if(flag) answer = 0;
            if(Last==-1) Last = i;
            else{
                if(i<Last && next_level==0) next_level = 1;
                else if(i>Last && next_level==1) answer = 0;
            }
            Last = i;
        }

    }
    if(down > 1 || answer==0) return 0;
    else return 1;
}
int check_size(vector<int> Size){
    int Last = -1;
    int flag = 0;
    int answer = 1;
    for(int i:Size){
        if(!flag && i<Last) flag = 1;
        if(flag && i>Last) answer = 0;
    }
    return answer;
}
int cover(vector<pair<int,pair<int,int>>> S){
    int answer = 1;
    int Last_L = S[0].second.first,Last_R = S[0].second.second;
    for(auto i:S){
        if(i.second.first>Last_L || i.second.second<Last_R) answer = 0;
        Last_L = i.second.first;
        Last_R = i.second.second;
    }
    return answer;
}
int biggest_stadium(int N,vector<vector<int>> F){
    vector<int> a;
    vector<int> b;
    int Count = 0;
    for(auto i:F){
        for(int j:i){
            if(j==0) Count++;
        }
        pair<int,int> tmp = process(i);
        a.push_back(tmp.first);
        b.push_back(tmp.second);
    }
    for(int i=0;i<N-1;i++){
        if(a[i]>=0 && b[i]>=0 && ( b[i]<a[i+1] || b[i+1]<a[i])) return 0;
    }
    if(!check_Left(a) || !check_Right(b)) return 0;
    vector<int> Size;
    for(int i=0;i<N;i++){
        if(a[i]>=0 && b[i]>=0){
            Size.push_back(b[i]-a[i]);
        }
    }
    if(!check_size(Size)) return 0;
    vector<pair<int,pair<int,int>>> final_check;
    for(int i=0;i<N;i++){
        if(a[i]>=0 && b[i]>=0){
            final_check.push_back(make_pair(b[i]-a[i],make_pair(a[i],b[i])));
        }
    }
    sort(final_check.begin(),final_check.end());
    if(!cover(final_check)) return 0;
    return Count;
}
# Verdict Execution time Memory Grader output
1 Partially correct 0 ms 344 KB partial
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB ok
2 Correct 0 ms 348 KB ok
3 Correct 0 ms 348 KB ok
4 Correct 0 ms 348 KB ok
5 Correct 0 ms 348 KB ok
6 Partially correct 0 ms 348 KB partial
7 Partially correct 1 ms 348 KB partial
8 Partially correct 17 ms 2396 KB partial
9 Partially correct 258 ms 31764 KB partial
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB ok
2 Correct 0 ms 348 KB ok
3 Partially correct 1 ms 348 KB partial
4 Partially correct 0 ms 348 KB partial
5 Partially correct 1 ms 348 KB partial
6 Partially correct 0 ms 348 KB partial
7 Partially correct 0 ms 348 KB partial
8 Correct 0 ms 348 KB ok
9 Correct 0 ms 348 KB ok
10 Partially correct 0 ms 348 KB partial
11 Partially correct 0 ms 344 KB partial
12 Partially correct 1 ms 348 KB partial
13 Correct 1 ms 348 KB ok
# Verdict Execution time Memory Grader output
1 Partially correct 0 ms 344 KB partial
2 Correct 0 ms 348 KB ok
3 Correct 0 ms 348 KB ok
4 Partially correct 1 ms 348 KB partial
5 Partially correct 0 ms 348 KB partial
6 Partially correct 1 ms 348 KB partial
7 Partially correct 0 ms 348 KB partial
8 Partially correct 0 ms 348 KB partial
9 Correct 0 ms 348 KB ok
10 Correct 0 ms 348 KB ok
11 Partially correct 0 ms 348 KB partial
12 Partially correct 0 ms 344 KB partial
13 Partially correct 1 ms 348 KB partial
14 Correct 1 ms 348 KB ok
15 Partially correct 1 ms 348 KB partial
16 Partially correct 0 ms 348 KB partial
17 Partially correct 0 ms 348 KB partial
18 Partially correct 0 ms 348 KB partial
19 Partially correct 0 ms 348 KB partial
20 Correct 0 ms 348 KB ok
21 Correct 0 ms 348 KB ok
22 Partially correct 0 ms 348 KB partial
23 Partially correct 0 ms 348 KB partial
24 Partially correct 1 ms 348 KB partial
25 Partially correct 0 ms 348 KB partial
26 Partially correct 1 ms 344 KB partial
# Verdict Execution time Memory Grader output
1 Partially correct 0 ms 344 KB partial
2 Correct 0 ms 348 KB ok
3 Correct 0 ms 348 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 Partially correct 0 ms 348 KB partial
8 Partially correct 1 ms 348 KB partial
9 Partially correct 0 ms 348 KB partial
10 Partially correct 0 ms 348 KB partial
11 Correct 0 ms 348 KB ok
12 Correct 0 ms 348 KB ok
13 Partially correct 0 ms 348 KB partial
14 Partially correct 0 ms 344 KB partial
15 Partially correct 1 ms 348 KB partial
16 Correct 1 ms 348 KB ok
17 Partially correct 1 ms 348 KB partial
18 Partially correct 0 ms 348 KB partial
19 Partially correct 0 ms 348 KB partial
20 Partially correct 0 ms 348 KB partial
21 Partially correct 0 ms 348 KB partial
22 Correct 0 ms 348 KB ok
23 Correct 0 ms 348 KB ok
24 Partially correct 0 ms 348 KB partial
25 Partially correct 0 ms 348 KB partial
26 Partially correct 1 ms 348 KB partial
27 Partially correct 0 ms 348 KB partial
28 Partially correct 1 ms 344 KB partial
29 Partially correct 1 ms 348 KB partial
30 Partially correct 1 ms 348 KB partial
31 Partially correct 0 ms 348 KB partial
32 Partially correct 0 ms 348 KB partial
33 Partially correct 0 ms 348 KB partial
34 Incorrect 1 ms 348 KB wrong
35 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Partially correct 0 ms 344 KB partial
2 Correct 0 ms 348 KB ok
3 Correct 0 ms 348 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 Partially correct 0 ms 348 KB partial
8 Partially correct 1 ms 348 KB partial
9 Partially correct 0 ms 348 KB partial
10 Partially correct 0 ms 348 KB partial
11 Correct 0 ms 348 KB ok
12 Correct 0 ms 348 KB ok
13 Partially correct 0 ms 348 KB partial
14 Partially correct 0 ms 344 KB partial
15 Partially correct 1 ms 348 KB partial
16 Correct 1 ms 348 KB ok
17 Partially correct 1 ms 348 KB partial
18 Partially correct 0 ms 348 KB partial
19 Partially correct 0 ms 348 KB partial
20 Partially correct 0 ms 348 KB partial
21 Partially correct 0 ms 348 KB partial
22 Correct 0 ms 348 KB ok
23 Correct 0 ms 348 KB ok
24 Partially correct 0 ms 348 KB partial
25 Partially correct 0 ms 348 KB partial
26 Partially correct 1 ms 348 KB partial
27 Partially correct 0 ms 348 KB partial
28 Partially correct 1 ms 344 KB partial
29 Partially correct 1 ms 348 KB partial
30 Partially correct 1 ms 348 KB partial
31 Partially correct 0 ms 348 KB partial
32 Partially correct 0 ms 348 KB partial
33 Partially correct 0 ms 348 KB partial
34 Incorrect 1 ms 348 KB wrong
35 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Partially correct 0 ms 344 KB partial
2 Correct 0 ms 348 KB ok
3 Correct 0 ms 348 KB ok
4 Correct 0 ms 348 KB ok
5 Correct 0 ms 348 KB ok
6 Correct 0 ms 348 KB ok
7 Partially correct 0 ms 348 KB partial
8 Partially correct 1 ms 348 KB partial
9 Partially correct 17 ms 2396 KB partial
10 Partially correct 258 ms 31764 KB partial
11 Partially correct 1 ms 348 KB partial
12 Partially correct 0 ms 348 KB partial
13 Partially correct 1 ms 348 KB partial
14 Partially correct 0 ms 348 KB partial
15 Partially correct 0 ms 348 KB partial
16 Correct 0 ms 348 KB ok
17 Correct 0 ms 348 KB ok
18 Partially correct 0 ms 348 KB partial
19 Partially correct 0 ms 344 KB partial
20 Partially correct 1 ms 348 KB partial
21 Correct 1 ms 348 KB ok
22 Partially correct 1 ms 348 KB partial
23 Partially correct 0 ms 348 KB partial
24 Partially correct 0 ms 348 KB partial
25 Partially correct 0 ms 348 KB partial
26 Partially correct 0 ms 348 KB partial
27 Correct 0 ms 348 KB ok
28 Correct 0 ms 348 KB ok
29 Partially correct 0 ms 348 KB partial
30 Partially correct 0 ms 348 KB partial
31 Partially correct 1 ms 348 KB partial
32 Partially correct 0 ms 348 KB partial
33 Partially correct 1 ms 344 KB partial
34 Partially correct 1 ms 348 KB partial
35 Partially correct 1 ms 348 KB partial
36 Partially correct 0 ms 348 KB partial
37 Partially correct 0 ms 348 KB partial
38 Partially correct 0 ms 348 KB partial
39 Incorrect 1 ms 348 KB wrong
40 Halted 0 ms 0 KB -