POJ3069(贪心)

来源:互联网 发布:unity3d开始界面添加 编辑:程序博客网 时间:2024/05/25 23:26
  
#include <iostream>#include <string>#include <map>#include <cstdio>#include <algorithm>#define FOR(i,n) for(int i=0;i<n;i++)using namespace std;int s[100115],x[101105];int main (){    int l,n;    while(cin >> l >> n&&l!=-1&&n!=-1)    {        for(int i=0; i<n; i++)        {            cin >> s[i];        }        sort(s,s+n);        int i=0;        int ans=0;        while(i<n)        {            int k=s[i++];//左边第一个点            while(i<n&&s[i]<=k+l) i++;//找出接下来标记的点P            int p=s[i-1];            while(i<n&&s[i]<=p+l) i++;//找出P能覆盖的最远的点            ans++;        }        cout << ans << endl;    }    return 0;}

0 0
原创粉丝点击