289
Cerința
Se dă un vector cu n elemente și un număr k.
Se construiește un nou vector, cu n-1 elemente, ale cărui elemente vor fi diferenţa dintre suma și modulul diferenţei a două elemente alăturate din primul vector.
Apoi se construiește un alt vector, după aceeași regulă, ș. a. m. d.
Afișați suma elementelor celui de-al k-1-lea vector construit prin această metodă.
Date de intrare
Programul citește de la tastatură numerele n, k și n numere naturale.
Date de ieșire
Programul va afișa pe ecran suma cerută.
Restricții și precizări
1 ≤ n ≤ 10000- cele
nelemente ale vectorului vor fi mai mici decât1000 k≤50
Exemplu
Intrare
6 3 5 2 4 9 3 1
Ieșire
32
Explicație
Prelucrarea primului element al noului vector se face astfel: (5+2)-(5-2)=4 ,
Elementele primului vector construit vor fi: 4 4 8 6 2 .
Elementele celui de-al 2-lea vector construit vor fi: 8 8 12 4 , iar suma lor va fi 32 .
#include <bits/stdc++.h>
using namespace std;
int main()
{
long long n , a[10001] , k , s = 0;
cin >> n >> k;
for(int i = 1 ; i <= n ; i++) cin >> a[i];
while(k > 1)
{
for(int i = 1 ; i < n ; i++)
a[i]=a[i]+a[i+1]-abs(a[i]-a[i+1]);
n--;
k--;
}
for(int i = 1 ; i <= n ; i++) s+=a[i];
cout << s;
}
Comentarii