제출 #333489

#제출 시각아이디문제언어결과실행 시간메모리
333489ncduy0303걷기 (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 l, n; 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] = {t + (double)l / v, i}; } sort(tin.begin(), tin.end()); sort(tout.rbegin(), tout.rend()); int dp[n + 1][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 = 1; // cin >> tc; 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...