题目背景
幻想乡,春。
新年的土地吐出稚嫩的幼芽,第一届幻想乡程序设计大赛(Inner-Gensokyo Programming Contest, IGPC)拉开帷幕。作为举办者, Cirno 却有些不得不考虑的事情。
那就是气球的分配问题。
题目描述
本场比赛共有 n 道题,Cirno 已经精确预测了每道题目的 AC 队伍数 a1,a2,a3,⋯,an。但由于经费限制,主办方 n 种颜色的气球分别只准备了 b1,b2,b3,⋯,bn 个。
而 Cirno 需要合理地安排每道题目对应的气球颜色,使得能派发的气球尽可能多。
显然地,每道题目只能对应一种颜色的气球,每种颜色的气球只能对应一道题目,如果一道题有队伍通过但该种颜色的气球已经发完了,则很遗憾,该队拿不到这种气球了。
由于这个问题过于 trival,于是 Cirno 决定将这个任务分配给你。
输入格式
第一行,一个整数 n。
第二行,n 个整数,用空格隔开,表示 {an}。
第三行,n 个整数,用空格隔开,表示 {bn}。
输出格式
一行,一个整数,表示最多能派发的气球数。
嘶烤
a是AC队伍个数,b是气球个数,气球再多AC队伍少也只能发出AC队伍个数的气球、AC队伍再多气球少也只能按气球数发给AC队伍气球,只能按少的来判断发的气球数,题目里也说了数据单调不降(后面的数大于前面的数)所以不需要排序。
禔碣
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,a[100001],b[100001],ans=0;
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];
for(int i=1;i<=n;i++)cin>>b[i];
for(int i=1;i<=n;i++)ans+=min(a[i],b[i]);
cout<<ans;
return 0;
}