제출 #1193608

#제출 시각아이디문제언어결과실행 시간메모리
1193608NAMINCollecting Stamps 3 (JOI20_ho_t3)C++20
0 / 100
0 ms324 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define endl "\n" void solve(){ //ifstream cin("pairup.in"); //ofstream cout("pairup.out"); int N,L; cin >> N >> L; vector<ll> X(N),T(N); for(int i=0;i<N;i++) cin >> X[i]; for(int i=0;i<N;i++) cin >> T[i]; vector<ll> revX = X; reverse(revX.begin(),revX.end()); for(int i=0;i<N;i++){ //cout << revX[i] << ' '; revX[i] = L-revX[i]; } //cout << endl; ll ans = 0; for(int l=-1;l<N;l++){ for(int r=N;r>l;r--){ ll trav = 0; ll pos = 0; ll take = 0; for(int i=0;i<=l;i++){ if(trav+(X[i]-pos) <= T[i]){ trav += X[i]-pos; pos = X[i]; take++; } } trav += pos; pos = 0; if(l == -1 && r == 0) for(int i=0;i<N-r;i++){ if(trav+(revX[i]-pos) <= T[N-i-1]){ trav += X[i]-pos; pos = X[i]; take++; } } ans = max(ans,take); } } cout << ans << endl; } int main(){ int t=1; //cin >> t; while(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...