#include <iostream>
#include <cmath>

using namespace std;

/**
   Program ten łączy w sobie kilka typowych algorytmów pętli.
*/
int main()
{
   cout << "Wprowadź liczbę: ";
   int input;
   cin >> input;
   int min = input; // Niech najmniejszą liczbą będzie pierwsza wartość wejściowa.
   int max = input; // Niech największą liczbą też będzie pierwsza wartość wejściowa.

   int count = 1; // Liczba danych wejściowych
   int sum = input; // Dodaj pierwszą wartość do sumy danych wejściowych.

   bool found_negative = false; // Nadaj jej wartość true, jeśli znaleźliśmy co najmniej jedną liczbę ujemną.
   int negatives; // Liczna ujemnych danych wejściowych
   int first_negative = 0; // Pozycja pierwszej liczby ujemnej.

   if (input < 0)
   {
      found_negative = true;
      first_negative = 1;
      negatives = 1;
   }
   else
   {
      negatives = 0;
   }
   
   bool done = false;
   while (!done)
   {
      cout << "Wprowadź liczbę, 0 - wyjście: ";
      cin >> input;
      if (input == 0) // Zero jest wartością wartownika
      {
         done = true;
      }
      else 
      {
         sum = sum + input; // Obliczanie sumy i średniej
         count++;
         
         if (input < min) // Wyznaczanie minimum i maksimum
         {
            min = input;
         }
         else if (input > max)
         {
            max = input;
         }
         
         if (input < 0) // Liczenie pasujących elementów
         {
            negatives++;
            
            if (!found_negative) // Wyszukiwanie pierwszego pasującego elementu
            {
               found_negative = true;
               first_negative = count;
            }
         }
      }
   }   
   cout << "Minimum: " << min << endl;
   cout << "Maksimum: " << max << endl;
   cout << "Suma: " << sum << endl;
   cout << "Średnia: " << sum * 1.0 / count << endl;
   cout << "Wartości ujemne: " << negatives << endl;
   if (found_negative)
   {
      cout << "Pierwsza liczba ujemna: " << first_negative << endl;
   }
   return 0;
}

