Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
我的 0ms 加了快读才30行欢迎来访:https://www.cnblogs.com/lzxzy-blog/p/10714970.html 这里面有更详细的讲解。 /***************************************** Problem: 2385 Author: ACAccepted Language: C++ Result: Accepted Time:0 ms Memory:180 kb Web:https://www.cnblogs.com/lzxzy-blog/p/10714970.html *****************************************/ #include <cstdio> #define max(a,b) ((a)>(b)?(a):(b)) using namespace std; int read() { int x=0,f=1;char c=getchar(); while (c<'0' || c>'9'){if (c=='-')f=-1;c=getchar();} while (c>='0'&&c<='9'){x=(x<<1)+(x<<3)+c-48;c=getchar();} return x*f; } const int MAXN=1005; const int MAXM=45; int n,m; int a[MAXN]; int f[MAXN][MAXM]; int main() { n=read();m=read(); for (int i=1;i<=n;i++) a[i]=read()-1; for (int i=1;i<=n;i++) for (int j=0;j<=m;j++) f[i][j]=max(f[i-1][j],f[i-1][j-1])+((j&1)==a[i]); int ans=0; for (int i=0;i<=m;i++) ans=max(ans,f[n][i]); printf("%d\n",ans); return 0; } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator