Advertisement
Alx09

Untitled

May 21st, 2020
1,273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.99 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. int main() {
  5.     FILE *f;
  6.     int N, P, v[10001], i, apaPosibila = 0;
  7.     f = fopen("in.txt", "r");
  8.     fscanf(f, "%d%d", &N, &P);
  9.     for (i = 1; i <=  N; i++)
  10.         fscanf(f, "%d", &v[i]);
  11.     if (v[1] > P)
  12.         v[1] -= P;
  13.     else {
  14.         apaPosibila = P - v[1];
  15.         v[1] = 0;
  16.     }
  17.  
  18.  
  19.     for (i = 2; i < N; i++)
  20.     {    
  21.         if (v[i] > P) {
  22.             v[i] -= P;
  23.             if (apaPosibila > v[i]) {
  24.                 apaPosibila -= v[i];
  25.                 v[i] = 0;
  26.             }
  27.             else {
  28.                 v[i] -= apaPosibila;
  29.                 apaPosibila = 0;
  30.             }
  31.         }
  32.         else {
  33.             apaPosibila = P - v[i];
  34.             v[i] = 0;
  35.             if (v[i - 1]) {
  36.                 if (apaPosibila > v[i - 1]) {
  37.                     apaPosibila -= v[i-1];
  38.                     v[i - 1] = 0;
  39.                 }
  40.                 else {
  41.                     v[i - 1] -= apaPosibila ;
  42.                     apaPosibila = 0;
  43.                 }
  44.             }
  45.         }
  46.            
  47.     }
  48.     if (v[N] > P) {
  49.         v[N] -= P;
  50.  
  51.         if (apaPosibila > v[N]) {
  52.             apaPosibila -= v[N];
  53.             v[N] = 0;
  54.         }
  55.         else
  56.             v[N] -= apaPosibila;
  57.     }
  58.     else
  59.     {
  60.         v[N] = 0;
  61.     }
  62.     for (i = 1; i <= N; i++)
  63.         printf("%d ", v[i]);
  64.     return 0;
  65. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement