[COCI2010-2011#7] ŠEĆER
题目背景
Mirko 在制糖厂当送货员。
题目描述
Mirko 需要向某地的一家糖果店运送 n 颗糖。
Mirko 可以使用两种类型的包装盒子:
- 一种是可以装 3 颗糖的 1 号包装;
- 另一种是可以装 5 颗糖的 2 号包装。
Mirko 想让包装盒尽可能少。例如,他要运送 18 颗糖,则可以使用 6 个 1 号包装。但是,最优策略是 3 个 2 号包装和 1 个 1 号包装。这样总共有 4 个包装。
请你帮助 Mirko 找到需要包装盒最少的方案。
输入格式
输入数据共一行。
第一行一个正整数 n,表示糖果颗数。
输出格式
输出数据共一行。
第一行,一个正整数表示需要包装盒最少的方案数的包装盒数,如果不可能用这 2 种包装盒运 n 颗糖,输出 -1。
样例 #1
样例输入 #1
4
样例输出 #1
-1
样例 #2
样例输入 #2
9
样例输出 #2
3
样例 #3
样例输入 #3
18
样例输出 #3
4
提示
数据规模及约定
对于 100% 的数据,3≤n≤5000。
说明
本题满分 30 分。
译自 COCI2010-2011 CONTEST #7 T1 ŠEĆER
#include<bits/stdc++.h>
using namespace std;
int cnt;
int main()
{
int n;
cin>>n;
if(n<=5)
{
cout<<"-1"<<endl;
return 0;
}
int s;
s=n%5;
if(s<=3)
{
cout<<n/5+1;
}else
{
cout<<n/5+2;
}
}