Submission #477812

#TimeUsernameProblemLanguageResultExecution timeMemory
477812sumit_kk10Walking (NOI12_walking)C++14
0 / 25
14 ms24012 KiB
#include <bits/stdc++.h> #define fast ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL) #define ll long long int #define ld long double using namespace std; const int N = 1e6 + 5; const int MOD = 1e9 + 7; int len, n, v[N], res; vector<int> graph[N]; vector<bool> vis(N); pair<int, int> tim[N]; void dfs(int node){ vis[node] = true; ++res; for(auto k : graph[node]){ if(!vis[k]) dfs(k); } } void solve(){ cin >> len >> n; for(int i = 1; i <= n; ++i) cin >> tim[i].first >> tim[i].second; sort(tim + 1, tim + n + 1); for(int i = 1; i <= n; ++i){ long double cur = (ld) ((ld) len/(ld) tim[i].second) + tim[i].first; for(int j = i + 1; j <= n; ++j){ if(cur > ((ld) ((ld) len / (ld) tim[j].second) + tim[j].first)){ graph[i].push_back(j); } } } vis.resize(n + 1, 0); int ans = 0; for(int i = 1; i <= n; ++i){ if(!vis[i]){ dfs(i); ans = max(ans, res); res = 0; } } cout << ans << "\n"; } int main(){ fast; int t = 1; // cin >> t; while(t--) solve(); 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...