Pagini recente » Cod sursa (job #1897942) | Cod sursa (job #3143053) | Cod sursa (job #57052) | Cod sursa (job #888759) | Cod sursa (job #2261394)
#include <bits/stdc++.h>
using namespace std;
int a[20003],i,k,sum,sol,sol1,j,put4[190],n;
ifstream f("patru.in");
ofstream g("patru.out");
bool cautbin(int x)
{
int st=1;
int dr=180;
int mij=0;
while(st<=dr)
{
mij=(st+dr)/2;
if(put4[mij]==x)
return true;
else if(put4[mij]<x)
{
st=mij+1;
}
else dr=mij-1;
}
return false;
}
int last(int x)
{
x=(x*x)%10;
x=(x*x)%10;
x=(x*x)%10;
x=(x*x)%10;
return x;
}
int main()
{
f>>n>>k;
for(i=1;i<=n;i++)
f>>a[i];
for(i=1;i<=180;i++)
put4[i]=pow(i,4);
for(i=1;i<=n;i++)
{
for(j=1;j<=180;j++)
{
if(cautbin(a[i]-put4[j]))
{
sol++;
break;
}
}
}
for(i=1;i<=k;i++)
{
sum=sum+last(a[i]);
}
if(sum%10==4)
sol1++;
for(i=k+1;i<=n;i++)
{
sum+=last(a[i]);
sum-=last(a[i-k]);
if(sum%10==4)
sol1++;
}
g<<sol<<'\n'<<sol1;
return 0;
}