ants.cpp
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int pole[1000000];
int compare_ints(const void* a, const void* b)
{
const int *arg1 = (int*)a;
const int *arg2 = (int*)b;
return *arg1 - *arg2;
}
int main()
{
int l,a;
while(scanf("%i %i",&l,&a)==2)
{
int p;
char d;
int m = 0;
bool dva = false;
int poctl = 0;
char mc = '0';
for(int i = 0; i < a; ++i)
{
scanf("%i %c",&p, &d);
pole[i] = p;
if (d == 'L' )
{
poctl ++;
if (p == m && mc == 'R')
dva = true;
if (p > m)
{
m = p;
dva =false;
mc = 'L';
}
}
else
{
if (l-p == m && mc == 'L')
dva = true;
if (l-p > m)
{
m = l-p;
dva = false;
mc = 'R';
}
}
}
qsort(pole, a, sizeof(int), compare_ints);
if (dva)
{
printf("The last ant will fall down in %i seconds - started at %i and %i.\n", m, pole[poctl-1], pole[poctl]);
}
else
{
printf("The last ant will fall down in %i seconds - started at %i.\n", m, pole[poctl]);
}
}
return 0;
}