蒟蒻の题解3 CF239A
前言:
本想着本大帅面对这种水题可以一遍过的,却没曾想,辣个男人竟然在这种题TLE了三遍!!!看来这道题还是不容小觑的。
题意:
已知三个数:
首先,一个很容易想到的算法是:把一个数
于是就诞生了我的第一篇代码:
#include<iostream>
using namespace std;
int main()
{
int y,k,n;
cin>>y>>k>>n;
for(int i=1;i<=n-y;i++)
{
if((i+y)%k==0)
{
for(int j=i;j+y<=n;j+=k)
{
cout<<j<<' ';
}
return 0;
}
}
cout<<-1;
return 0;
}
很明显,
于是我就想:为了省时,能不能不用循环而用公式把最小的
如果
所以最小的
想到这点,
AC CODE :
#include<bits/stdc++.h>
using namespace std;
int main()
{
int y,k,n;
cin>>y>>k>>n;
int x=k-y%k;
if(x+y>n) //如果最小的 x 就大于 n-y 了,那么就没有满足要求的 x 了。
{
cout<<-1;
return 0;
}
for(int i=x;i+y<=n;i+=k)
{
cout<<i<<' ';
}
return 0;
}