Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
39010 LYLAKIOIAKIOI 【BJ】T1 C++ 运行超时 20 3000 MS 360 KB 1131 2025-12-08 19:00:18

Tests(5/24):


#include<bits/stdc++.h> using namespace std; const int N=5050; int n,p[N]; int L[N],R[N]; int sum[N<<1],a[N<<1]; bool vis[N]; int calc(){ int res=0; for(int i=0;i<=2*n;i++) a[i]=0; for(int i=1;i<=n;i++){ for(int j=L[p[i]];j<R[p[i]];j++){ a[j]=i; } } for(int i=1;i<=2*n;i++) res+=(a[i]!=a[i-1]); return res; } int main(){ //freopen("magic.in","r",stdin); //freopen("magic.out","w",stdout); cin>>n; for(int i=1;i<=n*2;i++) a[i]=1; for(int i=1;i<=n;i++){ cin>>L[i]>>R[i]; } /*for(int i=1;i<=n;i++){ for(int j=1;j<=n*2;j++) sum[j]=sum[j-1]+a[j]; int mn=1e9,mnid=0; for(int j=1;j<=n;j++){ if(vis[j]) continue; if(sum[R[j]-1]-sum[L[j]]<mn) mn=sum[R[j]-1]-sum[L[j]],mnid=j; } for(int j=L[mnid];j<=R[mnid];j++) a[j]=0; p[n+1-i]=mnid;vis[mnid]=1; }cout<<calc()<<endl;*/ for(int i=1;i<=n;i++) p[i]=i; int ans=0; do{ ans=max(ans,calc()); }while(next_permutation(p+1,p+n+1)); cout<<ans<<endl; return 0; }


测评信息: