USACO 1.3 Barn Repair
2015-01-21 20:19
281 查看
典型的贪心问题
/*
ID:xueyifa4
PROG:barn1
LANG:C++
*/
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int a[205], b[205];
int m, s, c, ans;
int main()
{
freopen("barn1.in", "r", stdin);
freopen("barn1.out", "w", stdout);
scanf("%d%d%d", &m, &s, &c);
if (m > c) m = c;
for (int i = 0; i != c; ++ i) scanf("%d", &a[i]);
sort(a, a + c);
for (int i = 1; i != c; ++ i) b[i - 1] = a[i] - a[i - 1] - 1;
sort(b, b + c - 1);
ans = a[c - 1] - a[0] + 1;
for (int i = c - 2; i >= c -(m - 1) - 1; -- i) ans -= b[i];
printf("%d\n", ans);
return 0;
}
/*
ID:xueyifa4
PROG:barn1
LANG:C++
*/
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
int a[205], b[205];
int m, s, c, ans;
int main()
{
freopen("barn1.in", "r", stdin);
freopen("barn1.out", "w", stdout);
scanf("%d%d%d", &m, &s, &c);
if (m > c) m = c;
for (int i = 0; i != c; ++ i) scanf("%d", &a[i]);
sort(a, a + c);
for (int i = 1; i != c; ++ i) b[i - 1] = a[i] - a[i - 1] - 1;
sort(b, b + c - 1);
ans = a[c - 1] - a[0] + 1;
for (int i = c - 2; i >= c -(m - 1) - 1; -- i) ans -= b[i];
printf("%d\n", ans);
return 0;
}
相关文章推荐
- USACO 1.3-Barn Repair
- USACO section1.3 Barn Repair 修理牛棚(贪心)
- USACO 1.3 Barn Repair
- USACO-Section 1.3 Barn Repair(贪心)
- USACO section1.3 Barn Repair
- USACO 1.3 Barn Repair (barn1)
- USACO-Section1.3 Barn Repair【贪心算法】
- USACO 1.3-Barn Repair
- USACO sec1.3 Barn Repair
- 【动态规划】Barn Repair 修理牛棚 (Usaco_Training 1.3)
- 【动态规划】Barn Repair 修理牛棚 (Usaco_Training 1.3)
- USACO Section1.3 Barn Repair
- USACO 1.3 Barn Repair(贪心)
- USACO 1.3 Barn Repair
- 【USACO 1.3】Barn Repair
- USACO-Section1.3 Barn Repair
- USACO-section1.3 Barn Repair
- USACO Section 1.3: Barn Repair
- 修理牛棚 Barn Repair【USACO1.3】(提高组)
- USACO - Chapter1 Section 1.3 - Barn Repair