Submission #331714

#TimeUsernameProblemLanguageResultExecution timeMemory
331714ncduy0303Walking (NOI12_walking)C++17
25 / 25
2 ms1388 KiB
#include <bits/stdc++.h> using namespace std; #define ar array #define ll long long const int MAX_N = 1e5 + 1; const int MOD = 1e9 + 7; const int INF = 1e9; const ll LINF = 1e18; void solve() { int n, l; cin >> l >> n; vector<pair<double,int>> tin(n), tout(n); for (int i = 0; i < n; i++) { int t, v; cin >> t >> v; tin[i] = {t, i}; tout[i] = {(double)l / v + t, i}; } sort(tin.begin(), tin.end()); sort(tout.rbegin(), tout.rend()); vector<vector<int>> dp(n + 1, vector<int>(n + 1)); for(int i = 1; i <= n; i++) for(int j = 1; j <= n; j++) dp[i][j] = (tin[i - 1].second == tout[j - 1].second) ? dp[i - 1][j - 1] + 1 : max(dp[i - 1][j], dp[i][j - 1]); cout << dp[n][n] << "\n"; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); // freopen("input.txt", "r", stdin); // freopen("output.txt", "w", stdout); int tc; tc = 1; for (int t = 1; t <= tc; t++) { // cout << "Case #" << t << ": "; solve(); } }
#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...