#include <iostream>
#include <vector>
using namespace std;
int main()
{
int D=0;
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
long long n,k;
long long wynik=0;
cin>>n>>k;
vector<int> d(n);
for (int i=0;i<n;i++){
cin>>d[i];
}
int test=1;
int inc = 1;
int i=0;
while(test==1){
test=0;
if (D) {for (int jj=0;jj<n;jj++) {cout<<d[jj]<<" ";}cout<<endl;}
while(i>(-1-inc) and i<(n-inc)) {
if (d[i]>d[i+inc]){
if(d[i]>d[i+inc]+k){
if (D) cout<<"Azwiekszam "<<(i+inc)+1<<" o "<<(d[i]-d[i+inc]-k)<<endl;
wynik = wynik+(d[i]-d[i+inc]-k);
d[i+inc] = d[i+inc]+(d[i]-d[i+inc]-k);
test=1;
if (D) {for (int jj=0;jj<n;jj++) {cout<<d[jj]<<" ";}cout<<endl;}
}
} else {
if(d[i]+k < d[i+inc]){
if (D) cout<<"Bzwiekszam "<<i+1<<" o "<<(d[i+inc]-d[i]-k)<<endl;
test=1;
wynik = wynik+(d[i+inc]-d[i]-k);
d[i] = d[i]+(d[i+inc]-d[i]-k);
if (D) {for (int jj=0;jj<n;jj++) {cout<<d[jj]<<" ";}cout<<endl;}
}
}
i = i + inc;
}
i = i-inc;
if (inc==1) inc=-1; else inc=1;
}
cout<<wynik;
return 0;
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | #include <iostream> #include <vector> using namespace std; int main() { int D=0; std::ios_base::sync_with_stdio(false); std::cin.tie(nullptr); long long n,k; long long wynik=0; cin>>n>>k; vector<int> d(n); for (int i=0;i<n;i++){ cin>>d[i]; } int test=1; int inc = 1; int i=0; while(test==1){ test=0; if (D) {for (int jj=0;jj<n;jj++) {cout<<d[jj]<<" ";}cout<<endl;} while(i>(-1-inc) and i<(n-inc)) { if (d[i]>d[i+inc]){ if(d[i]>d[i+inc]+k){ if (D) cout<<"Azwiekszam "<<(i+inc)+1<<" o "<<(d[i]-d[i+inc]-k)<<endl; wynik = wynik+(d[i]-d[i+inc]-k); d[i+inc] = d[i+inc]+(d[i]-d[i+inc]-k); test=1; if (D) {for (int jj=0;jj<n;jj++) {cout<<d[jj]<<" ";}cout<<endl;} } } else { if(d[i]+k < d[i+inc]){ if (D) cout<<"Bzwiekszam "<<i+1<<" o "<<(d[i+inc]-d[i]-k)<<endl; test=1; wynik = wynik+(d[i+inc]-d[i]-k); d[i] = d[i]+(d[i+inc]-d[i]-k); if (D) {for (int jj=0;jj<n;jj++) {cout<<d[jj]<<" ";}cout<<endl;} } } i = i + inc; } i = i-inc; if (inc==1) inc=-1; else inc=1; } cout<<wynik; return 0; } |
English