又有goc问题了
  • 板块学术版
  • 楼主lbw318
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/11/27 13:29
  • 上次更新2024/11/27 16:44:00
查看原帖
又有goc问题了
1536432
lbw318楼主2024/11/27 13:29

https://www.51goc.com/level/program/110/643

题目:

题目描述

你有C只蜈蚣,每只蜈蚣有F只脚。冬天来了,要给蜈蚣们穿袜子。抽屉里有N种颜色的袜子,第i种颜色袜子的数量有a[i]只。对于一只蜈蚣来说,它所有的脚穿的袜子的颜色必须相同。现在你闭上眼睛,从抽屉里面随意拿出X只袜子,你要保证随意拿出来的X只袜子一定可以满足所有蜈蚣的需求。那么X的最小值是多少?如果X不存在,输出-1。

输入格式

输入文件名:643.in

第一行,三个整数,C,F,N。1<=C<=50,1<=F<=100,1<=N<=100。

第二行,N个整数,第i个整数是a[i]。1 <= a[i] <= 10000000。

输出格式

输出文件名:643.out

一个整数。最小的X,如果X不存在,输出-1。

输入/输出例子1 输入:

1 100 5

1 1 1 1 100

输出:

104

WA代码:

#include<bits/stdc++.h>
using namespace std;
int main(){
    int c,f,n,fw=0,x=0;
	cin>>c>>f>>n;
	int colour[n];
	for(int i=0;i<n;i++){
		cin>>colour[i];
	}
	for(int i=0;i<n;i++){
		if(colour[i]>=f) fw=fw+colour[i]-(colour[i]%f);
	}
	if(fw<(c*f)){
		cout<<"-1";
		return 0;
	} 
	for(int i=0;i<n;i++){
		if(colour[i]<f) x=x+colour[i];
	}
	x=x+(c*f);
	cout<<x; 
	return 0;
}

求调

2024/11/27 13:29
加载中...