108732024-04-17 12:44:34Leventusz09Particlescpp17Futási hiba 0/1002.082s4328 KiB
#include <bits/stdc++.h>



using namespace std;

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

    vector<int> Vx(N);
    vector<int> Vy(N);
    vector<int> Tx(N);
    vector<int> Ty(N);

    vector<float> I(0); // ütközés dátumok
    float t = 0;
    vector<int> Ix(0);  // ütköző indexek
    vector<int> Iy(0);

    for(int i=0; i<N; i++){
        cin >> Tx[i];
        cin >> Vx[i];
    }
    for(int i=0; i<N; i++){
        cin >> Ty[i];
        cin >> Vy[i];

        for(int j=0; j<N; j++){
            t = float(L + Vx[j]*Tx[j] + Vy[i]*Ty[i])/(Vx[j]+Vy[i]);
            if(0 < Vx[i] * (t - Tx[i]) && Vx[i] * (t-Tx[i]) < 100){
                I.push_back(float(t));
                Ix.push_back(j);
                Iy.push_back(i);
            }
        }
    }/*
    for(int i=0; i<I.size(); i++){
        cout << "p=" << Vx[Ix[i]] * (I[i] - Tx[Ix[i]]) << "; t=" << I[i] << " (" << Ix[i]+1 << ", " << Iy[i] + 1 << ")" << endl;
    }*/
    float mTi = -1;
    for(int i=0, l=0, j; i<K; i++){
        for(j=0; mTi!= -1 && j<I.size(); j++){
            if((Ix[j] == Ix[mTi] || Iy[j] == Iy[mTi]) && mTi != j){
                I.erase(I.begin() + j);
                Ix.erase(Ix.begin() + j);
                Iy.erase(Iy.begin() + j);
                j--;
                if(mTi > j) mTi--;
                //cout << "Deleted. (" << I.size() << ")"  << endl;
            }//else if(I[j] < (mTi==-1)?INT_MAX:I[mTi]) mTi = j;
        }
        I.erase(I.begin() + mTi);
        Ix.erase(Ix.begin() + mTi);
        Iy.erase(Iy.begin() + mTi);
        mTi = -1;

        for(j=0; j<I.size(); j++) if(I[j] < (mTi==-1?INT_MAX:I[mTi]) )  mTi = j;
        //cout << "mTi = " << mTi << endl;
        cout << Ix[mTi]+1 << " " << Iy[mTi]+1 << endl;
    }

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
subtask10/100
1Futási hiba0/53ms1784 KiB
2Futási hiba0/53ms1952 KiB
3Futási hiba0/53ms2224 KiB
4Futási hiba0/54ms2384 KiB
5Futási hiba0/56ms2764 KiB
6Futási hiba0/59ms2844 KiB
7Futási hiba0/5446ms3108 KiB
8Futási hiba0/5855ms3252 KiB
9Futási hiba0/51.577s3708 KiB
10Időlimit túllépés0/52.066s2804 KiB
11Időlimit túllépés0/52.082s3040 KiB
12Időlimit túllépés0/52.071s3124 KiB
13Időlimit túllépés0/52.065s3352 KiB
14Időlimit túllépés0/52.078s3484 KiB
15Időlimit túllépés0/52.062s3736 KiB
16Időlimit túllépés0/52.075s3876 KiB
17Időlimit túllépés0/52.03s4044 KiB
18Időlimit túllépés0/52.058s3984 KiB
19Időlimit túllépés0/52.066s4248 KiB
20Időlimit túllépés0/52.059s4328 KiB