Cod sursa(job #1112604)

Utilizator remus88Neatu Remus Mihai remus88 Data 19 februarie 2014 21:20:52
Problema A+B Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
#include <algorithm>
#include <cmath>

using namespace std;
ifstream f("adunare.in");
ofstream g("adunare.out");

struct point
{
    int x,y,r;
};

point v[100100];
int put,nrc,n,cx,cy,nivel,m,l[10100];

int main()
{
    f>>cx>>cy>>put;
    int i=0;
    while (!f.eof())
        {
            ++i;
            f>>v[i].x>>v[i].y>>v[i].r;
        }
    //return 0;
    //return 0;
    n=i-1;
    for (int i=1; i<=n; ++i)
        {
            nivel=max(abs(cx-v[i].x),abs(cy-v[i].y));
            if (v[i].r<=put-nivel && nivel<=put-1) ++l[nivel];
        }
    int s=0; int maxx=-1;
    for (int i=1; i<=put; ++i)
        {
            s=s+l[i];
            if (maxx<l[i]) maxx=l[i];
        }
    g<<s<<'\n'<<maxx<<'\n';
    for (int i=1; i<=put; ++i) if (l[i]==maxx) g<<i<<' ';
    g<<'\n';
    f.close(); g.close();
    return 0;
}