Cod sursa(job #478316)

Utilizator andra23Laura Draghici andra23 Data 18 august 2010 00:52:49
Problema Divk Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include<iostream>
#include<fstream>

using namespace std;

long long v[500010];

int main(){
    ifstream f("divk.in");
    ofstream g("divk.out");
    int n, a, b, k;
    f>>n>>k>>a>>b;
    long long nr = 0;
    
    int i, j, poza, pozb, x;
    for (i = 1; i <= n; i++){
        f>>x;
        if (i < a)
            for ( j = 1; j <= i; j++)
                v[j] = v[j] + x;
        else {
            poza = i-a+1;
            pozb = 1;
            if (i-b+1 > pozb)
                pozb = i-b+1;
            for (j = pozb; j <= poza; j++){
                v[j] = v[j] + x;
                if (v[j]%k == 0)
                    nr++;
            }
            for (j = poza+1; j <= i; j++)
                v[j] = v[j] + x;    
        }
    }
    
    g<<nr<<'\n';
       
    return 0;
}