제출 #376473

#제출 시각아이디문제언어결과실행 시간메모리
376473gustasonRabbit Carrot (LMIO19_triusis)C++14
14 / 100
1085 ms65500 KiB
#include<bits/stdc++.h> using namespace std; using ll = long long; int n, m; vector<int> ans; int best = 100; bool check(vector<int> a) { if (a[0] > m) return false; for(int i = 1; i < n; i++) { if (a[i] - a[i-1] > m) return false; } return true; } void go(int idx, vector<int> a, int changes) { // cout << idx << "\n"; if (idx == n) { if (changes < best && check(a)) { best = changes; } else return; ans.resize(n); ans = a; return; } int i, k; if (idx == 0) i = 0; else i = a[idx-1]; if (idx == n-1) k = 0; else k = a[idx+1]; go(idx+1, a, changes); a[idx] = i + m; go(idx+1, a, changes+1); a[idx] = k - m; go(idx+1, a, changes+1); } int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cin >> n >> m; vector<int> a(n); for(int i = 0; i < n; i++) { cin >> a[i]; } go(0, a, 0); cout << best << "\n"; for(int i : ans) { cerr << i << " "; } 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...