Cod sursa(job #1969453)

Utilizator akaprosAna Kapros akapros Data 18 aprilie 2017 14:30:43
Problema Operatii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.45 kb
#include <bits/stdc++.h>
#define maxN 1000002
#define maxO 3002
#define maxV 100002
#define ll long long
using namespace std;
int n, maxv;
bool mk[maxN];
ll ans;
vector < int > V[maxV];
class InputReader
{
public:
    InputReader() {}
    InputReader(const char *file_name)
    {
        input_file = fopen(file_name, "r");
        cursor = 0;
        fread(buffer, SIZE, 1, input_file);
    }
    inline InputReader &operator >>(int &n)
    {
        while(buffer[cursor] < '0' || buffer[cursor] > '9')
        {
            advance();
        }
        n = 0;
        while('0' <= buffer[cursor] && buffer[cursor] <= '9')
        {
            n = n * 10 + buffer[cursor] - '0';
            advance();
        }
        return *this;
    }
private:
    FILE *input_file;
    static const int SIZE = 1 << 17;
    int cursor;
    char buffer[SIZE];
    inline void advance()
    {
        ++ cursor;
        if(cursor == SIZE)
        {
            cursor = 0;
            fread(buffer, SIZE, 1, input_file);
        }
    }
};
void read()
{
    int i, x, m = 0, prv = 0;
    InputReader cin("operatii.in");
    cin >> n;
    for (i = 1; i <= n; ++ i)
    {
        cin >> x;
        if (x > prv)
            ans += 1LL * (x - prv);
        prv = x;
    }
}

void write()
{
    freopen("operatii.out", "w", stdout);
    printf("%lld\n", ans);
}
int main()
{
    read();
    //solve();
    write();
    return 0;
}