NOIP模拟(10.30)T1 比赛
2017-10-30 20:49
381 查看
比赛
题目背景:
10.30 NOIP模拟T1
分析:暴力
将数据从小到大排序,从大到小找到第一个满足a[i] + k < a[i + 1]的位置,那么答案就是n
- i了,如果找不到那么就是n了·····注意边界
Source:
/*
created by scarlyw
*/
#include <cstdio>
#include <string>
#include <algorithm>
#include <cstring>
#include <iostream>
#include <cmath>
#include <cctype>
#include <vector>
#include <set>
#include <queue>
#include <ctime>
const int MAXN = 100000 + 10;
int n, ans, k, t;
int a[MAXN];
inline void solve() {
scanf("%d%d", &n, &k);
for (int i = 1; i <= n; ++i) scanf("%d", &a[i]);
std::sort(a + 1, a + n + 1), ans = 1;
for (int i = n - 1; i >= 1; --i)
if (a[i + 1] - a[i] > k) break ;
else ans++;
std::cout << ans << '\n';
}
int main() {
// freopen("pk.in", "r", stdin);
// freopen("pk.out", "w", stdout);
scanf("%d", &t);
while (t--) solve();
return 0;
}
题目背景:
10.30 NOIP模拟T1
分析:暴力
将数据从小到大排序,从大到小找到第一个满足a[i] + k < a[i + 1]的位置,那么答案就是n
- i了,如果找不到那么就是n了·····注意边界
Source:
/*
created by scarlyw
*/
#include <cstdio>
#include <string>
#include <algorithm>
#include <cstring>
#include <iostream>
#include <cmath>
#include <cctype>
#include <vector>
#include <set>
#include <queue>
#include <ctime>
const int MAXN = 100000 + 10;
int n, ans, k, t;
int a[MAXN];
inline void solve() {
scanf("%d%d", &n, &k);
for (int i = 1; i <= n; ++i) scanf("%d", &a[i]);
std::sort(a + 1, a + n + 1), ans = 1;
for (int i = n - 1; i >= 1; --i)
if (a[i + 1] - a[i] > k) break ;
else ans++;
std::cout << ans << '\n';
}
int main() {
// freopen("pk.in", "r", stdin);
// freopen("pk.out", "w", stdout);
scanf("%d", &t);
while (t--) solve();
return 0;
}
相关文章推荐
- NOIP模拟(20171030)T1 比赛
- NOIP模拟(10.22)T1 姓名匹配
- NOIP模拟(10.26)T1 抄代码
- NOIP模拟(11.03)T1 区间
- NOIP模拟(11.07)T1 数列求和
- [NOIP模拟](二)T1-操作
- NOIP模拟(10.30)T2 Game
- BSOJ4852 比赛 noip模拟
- NOIP模拟(20171031)T1 机器清洁工
- NOIP模拟(10.23)T1 Fibonacci
- NOIP模拟(11.02)T1 活动安排
- NOIP模拟(10.30)T3 星星
- [NOIP模拟](三)T1-太空电梯
- NOIP模拟(10.27)T1 寿司
- NOIP模拟(20171102)T1 活动安排
- 【队内胡策 10.30】T1
- NOIP模拟(11.06)T1 数集
- NOIP模拟(20171023)T1 fibonacci
- NOIP模拟(20171026)T1 抄代码
- 某比赛的某些题目