Cod sursa(job #1288516)

Utilizator nytr0gennytr0gen nytr0gen Data 8 decembrie 2014 21:18:19
Problema Secventa 5 Scor 0
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul I Marime 0.8 kb
#include <cstdio>
#include <unordered_map>
using namespace std;

const char IN_FILE[]  = "secv5.in";
const char OUT_FILE[] = "secv5.out";

int main() {
    freopen(IN_FILE, "r", stdin);
    freopen(OUT_FILE, "w", stdout);

    int N, L, U;
    scanf("%d%d%d", &N, &L, &U);

    int x; unordered_map<int, int> v;
    while (N--) {
        scanf("%d", &x);

        if (v.count(x) > 0) {
            v[x]++;
        } else {
            v.insert({x, 1});
        }
    }

    int total = 0;
    for (auto it = v.begin(); it != v.end(); it++) {
        int product = 1;
        int k = 1;
        for (auto jt = it; k <= U && jt != v.end(); jt++, k++) {
            product *= (*jt).second;

            if (k >= L) {
                total += product;
            }
        }
    }

    printf("%d", total);

    return 0;
}