Cod sursa(job #1456193)
| Utilizator | Data | 29 iunie 2015 22:51:46 | |
|---|---|---|---|
| Problema | Divk | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.5 kb |
#include <fstream>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
int a,b,k,n,v[500010],frecv[100010],ans,i;
int main()
{
fin>>n>>k>>a>>b;
for( i = 1 ; i <= n ; i++ )
{
fin>>v[ i ];
v[ i ] = ( v[ i ] + v[ i - 1 ] ) % k;
}
for( i = a ; i <= n ; i++ )
{
frecv[ v[ i - a ] ]++;
if( i > b )
frecv[ v[ i - b - 1 ] ]--;
ans += frecv[ v[ i ] ];
}
fout<<ans;
return 0;
}
