网站页面需求,广西网络推广,org域名不能注册了,wordpress 第三方登录 代码【问题描述】 在一个风景秀丽的小镇#xff0c;一天早上#xff0c;有N名晨跑爱好者(编号1~N)沿着优雅的江边景观道朝同一方向进行晨跑#xff0c;第i名跑者从位置si处起跑#xff0c;且其速度为Vi。换句话说#xff0c;对所有的实数t≥0#xff0c;在时刻t时第i名跑者的…【问题描述】 在一个风景秀丽的小镇一天早上有N名晨跑爱好者(编号1~N)沿着优雅的江边景观道朝同一方向进行晨跑第i名跑者从位置si处起跑且其速度为Vi。换句话说对所有的实数t≥0在时刻t时第i名跑者的位置为Si Vi × t。 很不幸的是其中一名跑者在t0的时刻感染了病毒且是无症状感染者这种病毒只会在同一时刻处在同一位置的跑者之间传播新感染了病毒的跑者也会感染其他人很显然等待足够长的时间那么病毒会感染一些特定的跑者。 事后发现其中有一名跑者感染了新冠病毒如果此人就是在t0时刻的那名感染者那么在N名晨跑爱好者中会有多少人感染新冠病毒 【输入形式】 输入包含三行
第一行包含为两个整数N和K分别表示运动员的人数以及开始时感染了病毒的跑者编号。第二行包含N个正整数S1、S2、…、SN用空格隔开分别表示跑者的起始位置。第三行包含N个正整数V1、V2、…、VN用空格隔开分别表示跑者的速度、
【输出形式】 输出为一个整数表示最终被感染人数 【样例输入】 6 3 3 9 8 5 7 5 6 6 5 4 6 3 【样例输出】 3
思路如图所示但也有可能后面的速度快反超前面的未感染的运动员。 #includeiostream
#includestring
using namespace std;
struct people
{int x;int v;int ganran0;
} P[10000000];
int main()
{int n,k,sum0,vmin,vmax;cinnk;for(int i1; in; i){cinP[i].x;}for(int i1; in; i){cinP[i].v;}vmaxP[k].v;vminP[k].v;for(int i1; in; i){if(P[i].xP[k].x){if(P[i].vvmin){vmin P[i].v;}}}for(int i1; in; i){if(P[i].vvmax P[i].xP[k].x){vmaxP[i].v;}}for(int i1; in; i){if(P[i].xP[k].xP[i].vvmax) P[i].ganran1;if(P[i].xP[k].xP[i].vvmin) P[i].ganran1;if(P[i].xP[k].x) P[i].ganran1;}for(int i1; in; i){if(P[i].ganran 1){sum;}}coutsum;return 0;
}
运行结果