Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- int main() {
- FILE *f;
- int N, P, v[10001], i, apaPosibila = 0;
- f = fopen("in.txt", "r");
- fscanf(f, "%d%d", &N, &P);
- for (i = 1; i <= N; i++)
- fscanf(f, "%d", &v[i]);
- if (v[1] > P)
- v[1] -= P;
- else {
- apaPosibila = P - v[1];
- v[1] = 0;
- }
- for (i = 2; i < N; i++)
- {
- if (v[i] > P) {
- v[i] -= P;
- if (apaPosibila > v[i]) {
- apaPosibila -= v[i];
- v[i] = 0;
- }
- else {
- v[i] -= apaPosibila;
- apaPosibila = 0;
- }
- }
- else {
- apaPosibila = P - v[i];
- v[i] = 0;
- if (v[i - 1]) {
- if (apaPosibila > v[i - 1]) {
- apaPosibila -= v[i-1];
- v[i - 1] = 0;
- }
- else {
- v[i - 1] -= apaPosibila ;
- apaPosibila = 0;
- }
- }
- }
- }
- if (v[N] > P) {
- v[N] -= P;
- if (apaPosibila > v[N]) {
- apaPosibila -= v[N];
- v[N] = 0;
- }
- else
- v[N] -= apaPosibila;
- }
- else
- {
- v[N] = 0;
- }
- for (i = 1; i <= N; i++)
- printf("%d ", v[i]);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement