Submission #38147532
Source Code Expand
#include<bits/stdc++.h>
using namespace std;
//#define int long long
void chkmax(int &a,int b) {a=a>b?a:b;}
void chkmin(int &a,int b) {a=a<b?a:b;}
int read() {
int x=0,f=1;char ch=getchar();
while(!isdigit(ch)) f=(ch=='-'?-1:f),ch=getchar();
while(isdigit(ch)) x=x*10+ch-'0',ch=getchar();
return x*f;
}
int a[6010],f[2010][2010],g[2010],mx;
signed main() {
int n=read(),m=n*3,cnt=0;
for(int i=1;i<=m;i++)
a[i]=read();
memset(f,-0x3f,sizeof(f));
memset(g,-0x3f,sizeof(g));
f[a[1]][a[2]]=f[a[2]][a[1]]=0;
g[a[1]]=g[a[2]]=0,mx=0;
for(int i=3;i<m;i+=3) {
array<int,3> p={a[i],a[i+1],a[i+2]};
sort(p.begin(),p.end());
if(p[0]==p[2]) {cnt++;continue;}
vector<pair<pair<int,int>,int> > ch;
auto add=[&](int x,int y,int val) {
ch.push_back({{x,y},val});
ch.push_back({{y,x},val});
};
if(p[1]==p[2]) swap(p[0],p[2]);
if(p[0]==p[1]) {
for(int i=1;i<=n;i++)
add(i,p[2],f[i][p[0]]+1);
}
for(int i=0;i<3;i++) {
vector<int> q;
for(int j=0;j<3;j++)
if(i!=j) q.push_back(p[j]);
add(q[0],q[1],f[p[i]][p[i]]+1);
}
for(int i=0;i<3;i++) {
for(int j=1;j<=n;j++) {
bool flag=0;
for(int k=0;k<3;k++)
if(i!=k&&j==p[k]) flag=1;
if(flag) add(p[i],j,mx);
else add(p[i],j,g[j]);
}
}
for(auto [x,val]:ch) {
chkmax(f[x.first][x.second],val);
chkmax(g[x.first],val),chkmax(g[x.second],val);
chkmax(mx,val);
}
}
int ans=0;
for(int i=1;i<=n;i++)
for(int j=i;j<=n;j++)
chkmax(ans,f[i][j]+(i==a[m]&&j==a[m]));
printf("%d\n",ans+cnt);
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | F - Brave CHAIN |
| User | cxm1024 |
| Language | C++ (GCC 9.2.1) |
| Score | 600 |
| Code Size | 1586 Byte |
| Status | AC |
| Exec Time | 676 ms |
| Memory | 19640 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 600 / 600 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | sample00, sample01, sample02 |
| All | case03, case04, case05, case06, case07, case08, case09, case10, case11, case12, case13, case14, case15, case16, case17, case18, case19, case20, case21, case22, case23, case24, case25, case26, case27, case28, case29, case30, case31, case32, case33, case34, case35, case36, case37, case38, case39, case40, case41, case42, case43, case44, case45, case46, case47, case48, case49, case50, case51, case52, case53, case54, sample00, sample01, sample02 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| case03 | AC | 613 ms | 19544 KiB |
| case04 | AC | 670 ms | 19584 KiB |
| case05 | AC | 603 ms | 19640 KiB |
| case06 | AC | 668 ms | 19512 KiB |
| case07 | AC | 676 ms | 19488 KiB |
| case08 | AC | 676 ms | 19636 KiB |
| case09 | AC | 151 ms | 19620 KiB |
| case10 | AC | 499 ms | 19600 KiB |
| case11 | AC | 15 ms | 19484 KiB |
| case12 | AC | 19 ms | 19464 KiB |
| case13 | AC | 16 ms | 19364 KiB |
| case14 | AC | 15 ms | 19484 KiB |
| case15 | AC | 15 ms | 19436 KiB |
| case16 | AC | 641 ms | 19580 KiB |
| case17 | AC | 475 ms | 19536 KiB |
| case18 | AC | 123 ms | 19508 KiB |
| case19 | AC | 540 ms | 19608 KiB |
| case20 | AC | 62 ms | 19560 KiB |
| case21 | AC | 29 ms | 19448 KiB |
| case22 | AC | 79 ms | 19496 KiB |
| case23 | AC | 18 ms | 19480 KiB |
| case24 | AC | 140 ms | 19632 KiB |
| case25 | AC | 268 ms | 19456 KiB |
| case26 | AC | 509 ms | 19472 KiB |
| case27 | AC | 506 ms | 19472 KiB |
| case28 | AC | 280 ms | 19464 KiB |
| case29 | AC | 341 ms | 19472 KiB |
| case30 | AC | 88 ms | 19624 KiB |
| case31 | AC | 277 ms | 19520 KiB |
| case32 | AC | 94 ms | 19564 KiB |
| case33 | AC | 446 ms | 19452 KiB |
| case34 | AC | 501 ms | 19528 KiB |
| case35 | AC | 31 ms | 19524 KiB |
| case36 | AC | 345 ms | 19508 KiB |
| case37 | AC | 16 ms | 19464 KiB |
| case38 | AC | 41 ms | 19472 KiB |
| case39 | AC | 477 ms | 19516 KiB |
| case40 | AC | 83 ms | 19468 KiB |
| case41 | AC | 642 ms | 19640 KiB |
| case42 | AC | 635 ms | 19512 KiB |
| case43 | AC | 641 ms | 19460 KiB |
| case44 | AC | 620 ms | 19456 KiB |
| case45 | AC | 654 ms | 19508 KiB |
| case46 | AC | 135 ms | 19572 KiB |
| case47 | AC | 426 ms | 19452 KiB |
| case48 | AC | 168 ms | 19552 KiB |
| case49 | AC | 584 ms | 19472 KiB |
| case50 | AC | 275 ms | 19468 KiB |
| case51 | AC | 278 ms | 19508 KiB |
| case52 | AC | 273 ms | 19448 KiB |
| case53 | AC | 25 ms | 19448 KiB |
| case54 | AC | 36 ms | 19472 KiB |
| sample00 | AC | 16 ms | 19460 KiB |
| sample01 | AC | 16 ms | 19492 KiB |
| sample02 | AC | 15 ms | 19460 KiB |