Cod sursă (job #810011)

Utilizator avatar Crimz0n25 Stefan Tanas Crimz0n25 IP ascuns
Problemă Domino Compilator cpp-32 | 0,94 kb
Rundă lasm_20_02_2025_clasa11 Status evaluat
Dată 20 feb. 2025 15:28:34 Scor 0
#include<bits/stdc++.h>
using namespace std;
ifstream in("domino.in");
ofstream out("domino.out");
int N,K1,K2;
vector<pair<int,int>>p;
int main()
{
    in>>N>>K1>>K2;
    for(int i=0;i<N;i++)
    {
        int a,b;
        in>>a>>b;
        p.push_back({a,b});
    }
    vector<int>v;
    for(auto &x:p)
        v.push_back(max(x.first,x.second));
    vector<pair<int,int>>diff;
    for(int i=0;i<N;i++)
        diff.push_back({abs(p[i].first-p[i].second),i});
    sort(diff.rbegin(),diff.rend());
    vector<bool>elim(N,0);
    for(int i=0;i<K2;i++)
        elim[diff[i].second]=1;
    int rot=0;
    for(int i=0;i<N&&rot<K1;i++)
        if(!elim[i]&&p[i].first<p[i].second)
        {
            swap(p[i].first,p[i].second);
            rot++;
        }
    v.clear();
    for(int i=0;i<N;i++)
        if(!elim[i])
            v.push_back(p[i].first);
    sort(v.rbegin(),v.rend());
    for(auto x:v)
        out<<x;
}