Cod sursa(job #3202750)
| Utilizator | Data | 12 februarie 2024 11:15:23 | |
|---|---|---|---|
| Problema | Divk | Scor | 0 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("divk.in");
ofstream fout("divk.out");
int n,k,a,b;
const int kmax = 100000;
int f[kmax + 5];
deque <long long> q;
long long sol;
int main()
{
fin>>n>>k>>a>>b;
for(int i=1;i<=n;i++)
{
int x;
fin>>x;
if(i>k)
f[q.front()--],q.pop_front();
int elem=x%k;
if(!q.empty())
elem=(elem + q.back())%k;
q.push_back(elem);
sol += f[elem];
f[elem]++;
}
fout<<sol;
}
