#include<stdio.h>#include<math.h>#include<stdlib.h>#include<string.h>char buf[2000]={0};int num[1000]={0};int mp[1000]={0};int n, time;staticvoidget_input(void){// 获取任务列表scanf("%s", buf);int x =0;// 任务编号数字
n =0;// 获取任务个数// 任务列表字符串转换为任务数组for(int i =0; buf[i]!='\0'; i++){if(buf[i]==','){// 保存获取到的任务编号数字到数组
num[n++]= x;
x =0;}else{// 编号字符串转换为数值
x = x *10+ buf[i]-'0';// 当前位数值 + 前几位数字扩大十倍}}
num[n++]= x;// 记录最后一个任务编码
x =0;// 获取间隔时长scanf("%d",&time);}intmain(){get_input();int mx =0;// 记录执行最多次任务的执行次数// 计算各任务执行的次数for(int i =0; i < n; i++){
mp[num[i]]++;// 统计当前遍历到的任务执行次数if(mp[num[i]]> mx){
mx = mp[num[i]];// 记录执行最多次任务的执行次数}}int need =(time +1)*(mx -1);// ?for(int i =0; i <1000; i++){if(mp[i]!= mx){// 非执行次数最多的任务,continue;}
need++;// ? 执行任务次数最多的任务,等待时间+1}printf("%d", need > n ? need : n);// ?return0;}