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 |
水题一道,鉴定完毕 附暴力代码题意: 给出1~P区间内的N个点,请找出最长的一段连续**区域**,使得区域内(包括边界)的点数不超过C。 注意的是,求出的区域是两个坐标之间的部分,例如:3~4是一个区间,包含3、4两个坐标。 分析: 数据范围很小,只有1000。 我仿佛看到人在跟我说:快暴力!快暴力! 代码: #include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> #include<algorithm> using namespace std; const int N = 1005; int n, p, c; int Cow[N], ans = 0; signed main(void) { memset(Cow, 0, sizeof(Cow)); scanf("%d%d%d", &n, &p, &c); for (int i = 1, pos; i <= n; i++) scanf("%d", &pos), Cow[pos]++; for (int i = 1; i < p; i++) { int j = i, sum = 0; while (j <= p&&sum <= c) sum += Cow[j++]; ans = max(ans, j - i - 1); } printf("%d\n", ans); // system("pause"); } Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator