Cod sursa(job #1960470)
Utilizator | Data | 10 aprilie 2017 14:10:37 | |
---|---|---|---|
Problema | Divk | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.3 kb |
#include <fstream>
using namespace std;
ifstream f("divk.in");
ofstream g("divk.out");
int N,K,A,B;int v[500005];int r[500005];long long s;int main(){f>>N>>K>>A>>B;for(int i=1;i<=N;++i){f>>v[i];v[i]=(v[i-1]+v[i])%K;}for(int i=A;i<=N;++i){r[v[i-A]]++;if(i>B)r[v[i-B-1]]--;s+=r[v[i]];}g<<s<<"\n";return 0;}