timer收集计时器c++急


运动场修好后,体艺节马上要开始了。体艺节上要用N个计时器,每个计时器是一个中间显示秒数的方形电子表,不过计时器的表面只能显示2位数字,因此当计时器开始计时后,数字变化规律是:0,1,2,3,98,99,0,1,2,…为了检查这些计时器的质量,晨晨把这N个计时器排成一行 这些时钟的表面数字都不尽相同 并已经在计时 例如N=2 开始时2个计时器时间是5秒和78秒

晨晨从左向右,每次从当前计时器需要K秒才走到下一个计时器。在这个过程中,如果晨晨看到计时器上的数字恰好是0,晨晨会收集这个计时器。问晨晨总共会收集到多少计时器
输入

第1行:2个正整数NK N K的范围为[1, 100000]2行:N个整数,每个整数范围为[0, 99]


输出

一整数,表示晨晨总共会收集到的计时器个数


输入样例 1 

6  3
0  45  94  91  91  85 
输出样例 1

4
样例解释
晨晨可以收集到第13464个计时器

#include<iostream>
#include<cstdio>
#include<cmath>
#include<string>
#include<algorithm>
using namespace std;
long long s,n,a[100005],m;
int main(){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        if(a[i]==0){
            s++;
            a[i]=99;
        }
        else{
            a[i]+=i*m-m;
        }
    }
    for(int i=1;i<=n;i++){
        if(a[i]%100==0){
            s++;
        }
    }
    cout<<s;
  return 0;
}

不知道错哪了

结题


#include <iostream>
#include <vector>

int main()
{
    int N, K;
    std::cin >> N >> K;
    std::vector<int> timers(N);
    for (int i = 0; i < N; i++)
        std::cin >> timers[i];
    int count = 0;
    for (int i = 0; i < N; i++)
        if ((timers[i] + i * K) % 100 == 0)
            count++;
    std::cout << count << std::endl;
    return 0;
}