Pagini recente » Cod sursa (job #2825794) | Cod sursa (job #2552081) | Cod sursa (job #1361101) | Cod sursa (job #2856317) | Cod sursa (job #2924070)
#include <fstream>
#include <cmath>
using namespace std;
const int dim=3e5+5;
int a[dim],n,d,nr,luat[dim],cr;
int main(){
ifstream f("partitie.in");
ofstream g("partitie.out");
f>>n>>d;
for(int i=1;i<=n;i++)
f>>a[i];
for(int i=1;i<=n;i++){
if(luat[i]==0){
luat[i]=++nr;
cr=a[i];
for(int j=i+1;j<=n;j++){
if(abs(cr-a[j])>=d and luat[j]==0){
luat[j]=nr;
if(a[j]>a[j+1])
cr=a[j];
else
cr=a[j+1];
}
}
}
}
g<<nr<<endl;
for(int i=1;i<=n;i++)
g<<luat[i]<<endl;
return 0;
}