답안 #735624

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
735624 2023-05-04T12:08:26 Z grogu Sailing Race (CEOI12_race) C++14
10 / 100
558 ms 4556 KB
#define here cerr<<"===========================================\n"
#define dbg(x) cerr<<#x<<": "<<x<<endl;
#include <bits/stdc++.h>
#define ld double
#define ll long long
#define ull unsigned long long
#define llinf 100000000000000000LL // 10^17
#define iinf 2000000000 // 2*10^9
#define pb push_back
#define popb pop_back
#define fi first
#define sc second
#define endl '\n'
#define pii pair<int,int>
#define pll pair<ll,ll>
#define pld pair<ld,ld>
#define all(a) a.begin(),a.end()
using namespace std;

#define maxn 505
ll n,tip;
ll dp[maxn][maxn][2];
bool d[maxn][maxn];
ll nx[maxn][2];
void solv(ll l,ll r,ll x){
    dp[l][r][x] = -llinf;
    if(d[l][r]) dp[l][r][x] = max(dp[l][r][x],1 + dp[r][nx[l][x]][x^1]);
    for(ll tr = r;tr!=l;tr = nx[tr][x^1])
    if(d[l][tr]) dp[l][r][x] = max(dp[l][r][x],dp[l][tr][x]);
}
int main(){
    cin >> n >> tip;
    for(ll i = 1;i<=n;i++){
        ll x = -1;
        while(x!=0){
            cin >> x;
            d[i][x] = 1;
        }
    }
    for(ll i = 1;i<=n;i++){
        nx[i][0] = i+1;
        nx[i][1] = i-1;
        if(nx[i][0]==n+1) nx[i][0] = 1;
        if(nx[i][1]==0) nx[i][1] = n;
    }
    for(ll d = 1;d<=n;d++){
        for(ll l = 1;l<=n;l++){
            ll r = l+d;
            if(r>n) r-=n;
            solv(l,r,0);
            solv(r,l,1);
        }
    }
    pll ans = {-1,0};
    for(ll i = 1;i<=n;i++){
        for(ll j = 1;j<=n;j++){
            for(ll x = 0;x<2;x++){
                ans = max(ans,{dp[i][j][x],i});
            }
        }
    }
    cout<<ans.fi<<endl;
    cout<<ans.sc<<endl;
	return (0-0);
}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 340 KB Output is correct
2 Incorrect 1 ms 340 KB Output isn't correct
3 Incorrect 1 ms 468 KB Output isn't correct
4 Incorrect 1 ms 468 KB Output isn't correct
5 Incorrect 2 ms 468 KB Output isn't correct
6 Incorrect 2 ms 620 KB Output isn't correct
7 Incorrect 3 ms 596 KB Output isn't correct
8 Incorrect 3 ms 724 KB Output isn't correct
9 Incorrect 5 ms 724 KB Output isn't correct
10 Correct 10 ms 852 KB Output is correct
11 Incorrect 7 ms 852 KB Output isn't correct
12 Incorrect 34 ms 1840 KB Output isn't correct
13 Incorrect 94 ms 2812 KB Output isn't correct
14 Incorrect 209 ms 3668 KB Output isn't correct
15 Incorrect 459 ms 4384 KB Output isn't correct
16 Incorrect 526 ms 4480 KB Output isn't correct
17 Incorrect 492 ms 4492 KB Output isn't correct
18 Incorrect 367 ms 4496 KB Output isn't correct
19 Incorrect 558 ms 4556 KB Output isn't correct
20 Incorrect 554 ms 4496 KB Output isn't correct