Cod sursa(job #2853121)

Utilizator MatwueiBordei Cosmin Matwuei Data 19 februarie 2022 21:52:51
Problema Tribute Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.33 kb
#include <bits/stdc++.h>
using namespace std;

ifstream in("tribute.in");
ofstream out("tribute.out");

#define aa for(i = 0; i<=cod.first; i++){for(j = 0; j<=cod.second; j++) out<<c[i][j]<<" "; out<<"\n";}

int n, m1, m2, c[1001][1001], i, dm, j, x, y, z;

pair <int, int> cod, ins, a;
vector <pair <int, int>> v;

int sbt(pair <int, int> l){
    int min = 999;
    for(x = l.first; x<=l.second; x++){
        for(y = l.first; y<=l.second; y++){
            dm = 0;
            for(z = 0; z<n; z++){
                if(v[z].first >= x && v[z].first <= x+m1 && v[z].second >= y && v[z].second <= y+m2) dm += 0;
                else
                dm += abs(x-v[z].first) + abs(y-v[z].second);
            }
            if(dm<min) min = dm;
        }
    }
    return min;
}

int bt(){
    int sdm = 99999999, q;
    for(i = 0; i<=cod.first; i++){
        for(j = 0; j<=cod.second; j++){
            a.first = i, a.second = j;
            q = sbt(a);
            if(q<sdm) sdm = q;
        }
    }
    return sdm;
}


int main(){
    in>>n>>m1>>m2;
    for(i = 0; i<n; i++){
        in>>ins.first>>ins.second;
        v.emplace_back(ins);
        if(ins.first>cod.first) cod.first = ins.first;
        if(ins.second>cod.second) cod.second = ins.second;
        c[ins.first][ins.second] = 1;
    }
    out<<bt()+1;
}