Cod sursa(job #467414)

Utilizator sodamngoodSo Damn Good sodamngood Data 28 iunie 2010 20:28:50
Problema Cadrane Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <iostream>
using namespace std;
#define nmax 100010
#define inf 999999999
#define ff first
#define ss second

int N, maxim;
pair<int, int> P[nmax];

int main() {
    FILE *f1=fopen("cadrane.in", "r"), *f2=fopen("cadrane.out", "w");
    int i, j, p, q;
    fscanf(f1, "%d\n", &N);
    for(i=1; i<=N; i++) {
         fscanf(f1, "%d %d\n", &p, &q);
         P[i].ff = p;
         P[i].ss = q;
    }
    for(i=1; i<=N; i++) {
         //qwerty trage prin P[i]
         int minim = inf;
         for(j=1; j<=N; j++) {
              //chewbacca trage prin P[j]
              int pcte = 0;
              for(p=1; p<=N; p++) {
                   if(P[p].ff >= P[i].ff && P[p].ss >= P[j].ss) pcte++;
                   if(P[p].ff <= P[i].ff && P[p].ss <= P[j].ss) pcte++;
              }
              minim = min(minim, pcte);
         }
         maxim = max(maxim, minim);
    }
    fprintf(f2, "%d\n", maxim);
    fclose(f1); fclose(f2);
    return 0;
}