108622024-04-17 08:44:25Leventusz09Particlescpp17Hibás válasz 0/10079ms5552 KiB
#include <bits/stdc++.h>

//#define max(list_) (*max_element(begin(list_), end(list_)))
//#define min(list_) (*min_element(begin(list_), end(list_)))
//#define indexOf(list_, value) (*find(begin(list_), end(list_), value))

using namespace std;

int main(){
    int N, L, K;
    cin >> N;
    cin >> L;
    cin >> K;

    vector<float> EndX(N);
    vector<float> EndY(N);
    vector<int> IndX(N);
    vector<int> IndY(N);

    for(int i=0, t, v; i<N; i++){
            cin >> t;
            cin >> v;
            EndX[i] = (L + v*t) / v;
            IndX[i] = i;
    }
    for(int i=0, t, v; i<N; i++){
            cin >> t;
            cin >> v;
            EndY[i] = (L + v*t) / v;
            IndY[i] = i;
    }
    for(int i=0, mx, mxi, my, myi, n = N; i<K; i++, n--){
        mx = INT_MAX;
        mxi = 0;
        for(int j=0; j<n; j++){
            if(EndX[j] < mx) mx = EndX[j], mxi = IndX[j];
            //cout << EndX[j] << ";";
        }
        my = INT_MAX;
        myi = 0;
        for(int j=0; j<n; j++){
            if(EndY[j] < my) my = EndY[j], myi = IndY[j];
            //cout << EndY[j] << ",";
        }
        cout << mxi + 1 << " " << myi + 1 << endl;
        EndX.erase(EndX.begin() + mxi);
        IndX.erase(IndX.begin() + mxi);
        EndY.erase(EndY.begin() + myi);
        IndY.erase(IndY.begin() + myi);
    }

    /*vector<int> Tx(N);
    vector<int> Ty(N);
    vector<int> Vx(N);
    vector<int> Vy(N);
    vector<float> Px(N);
    vector<float> Py(N);*/

    //vector<vector<float>> Matrix(N, vector<float>(N));
    /*vector<float> List(0);
    vector<vector<int>> Index(0, vector<int>(2));
    vector<int> tv(2);

    for(int i=0; i<N; i++){
        cin >> Tx[i];
        cin >> Vx[i];
    }
    float minV = INT_MAX;
    int Xi = -1, Yi = -1;
    for(int i=0, j, temp; i<N; i++){
        cin >> Ty[i];
        cin >> Vy[i];
        for(j=0; j<N; j++){
            temp = (Vx[i]*Tx[i] - Vy[j]*Ty[j])/(Vx[i] - Vy[j]);
            if(temp <= 0 || temp >= L){
                if(temp < minV) minV = temp, Xi = i, Yi = j;
                List.push_back(temp);
                tv[0] = i;
                tv[1] = j;
                Index.push_back(tv);
            }
        }
    }

    /*for(int i=0, j, temp; i<N; i++){
    }*//*
    for(int i=0, l=0; l<K; i+=0){
        if(true /*List[i, 0] != -1*//*){
            cout << List[i, 0] + 1 << " " << List[i, 1] << endl;
            l++;
            for(int j=0; j<List.size(); j++){
                if(List[j, 0] == List[i, 0]) List.erase(List.begin() + j), j--;
                if(List[j, 1] == List[i, 1]) List.erase(List.begin() + j), j--;
            }
        }
    }*/


    /*for(int i=0; i<N; i++){
        cin >> Tx[i];
        cin >> Vx[i];
        Px[i] = Vx[i] * -Tx[i];
    }
    for(int i=0; i<N; i++){
        cin >> Ty[i];
        cin >> Vy[i];
        Py[i] = L + Vy[i] * Ty[i];
    }

    int l = 0;

    int Xm = 0;
    int Ym = L;
    int Xmi = 0;
    int Ymi = 0;
    for(float i=0, d = 0.01; l<K; i+=d){
        if(Xm >= Ym){
            l++;
            cout << Xmi + 1 << " " << Ymi + 1 << endl;

            Px[Xmi] = INT_MIN;
            Vx[Xmi] = 0;
            Py[Ymi] = INT_MAX;
            Vy[Ymi] = 0;
        }
        Xm = INT_MIN; Ym = INT_MAX;
        Xmi = -1; Ymi = -1;
        for(int j=0; j<N; j++){
            Px[j] += Vx[j]*d;
            if(Px[j] > Xm) Xm = Px[j], Xmi = j;
            Py[j] -= Vy[j]*d;
            if(Py[j] < Ym) Ym = Py[j], Ymi = j;
        }
    }*/
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/100
1Hibás válasz0/53ms2088 KiB
2Hibás válasz0/53ms2144 KiB
3Hibás válasz0/53ms2388 KiB
4Hibás válasz0/54ms2552 KiB
5Hibás válasz0/54ms2768 KiB
6Hibás válasz0/54ms2912 KiB
7Futási hiba0/516ms3420 KiB
8Futási hiba0/520ms3824 KiB
9Futási hiba0/528ms4164 KiB
10Futási hiba0/539ms4360 KiB
11Futási hiba0/546ms4700 KiB
12Hibás válasz0/552ms4792 KiB
13Hibás válasz0/561ms5036 KiB
14Hibás válasz0/568ms5272 KiB
15Hibás válasz0/572ms5376 KiB
16Hibás válasz0/579ms5480 KiB
17Hibás válasz0/579ms5468 KiB
18Hibás válasz0/579ms5464 KiB
19Hibás válasz0/578ms5464 KiB
20Hibás válasz0/578ms5552 KiB