Submission #1344631

#TimeUsernameProblemLanguageResultExecution timeMemory
1344631re4lerWalking (NOI12_walking)C++20
0 / 25
0 ms344 KiB
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

struct Person {
    double t, v, a;
};

bool compare(const Person &x, const Person &y) {
    return x.t < y.t;
}

int main() {
    double L;
    int n;
    vector<Person> p(n);
    for(int i = 0; i < n; i++) {
        cin >> p[i].t >> p[i].v;
        p[i].a = p[i].t + (L / p[i].v);
    }
    sort(p.begin(), p.end(), compare);
    
    vector<int> dp(n, 1);
    int max_clique = 0;
    for(int i = 0; i < n; i++) {
        for(int j = 0; j < i; j++) {
            if(p[j].a > p[i].a) {
                dp[i] = max(dp[i], dp[j] + 1);
            }
        }
        max_clique = max(max_clique, dp[i]);
    }
    cout << (n == 0 ? 0 : max_clique) << endl;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...