#include <iostream>
#include <vector>

using namespace std;

class klasa{
    public:
        static int total;
        
        int ilosc;
        klasa(int n) : ilosc(n) {total += ilosc;};
        //klasa(const klasa &drugi) { ilosc = drugi.ilosc; total += ilosc; };
        //klasa& operator=(const klasa &drugi) { ilosc = drugi.ilosc; total += ilosc; return *this; };
        ~klasa() { total -= ilosc;};
};

int klasa::total = 0;

int main()
{
    vector<klasa> vec;
    
    int suma = 0;
    for(int i = 100; i <= 500; i+=100)
    {
    	suma += i;
    	klasa temp(i);
    	vec.push_back(temp);
    }
    
    cout << "Suma wrzuconych elementow: " << suma << " Rozmiar vectora: " << vec.size() << endl;
    for (const auto& x : vec)
    	std::cout << x.ilosc << "\n";
    
    cout << "before erase.. \n";
    vec.erase(vec.begin(), vec.begin()+2);
    cout << "after erase.. \n";
    for (const auto& x : vec)
    	std::cout << x.ilosc << "\n";
    
    cout << "vec.size() = " << vec.size() << endl;
    cout << "klasa::total = " << klasa::total << endl;
	return 0;
}