NC250230. 嘤嘤的猫娘
描述
输入描述
输入数据共两行。
第一行,两个整数,表示接下来的天数,
表示嘉心糖的总数。
第二行,个整数
表示原本嘉心糖每天的定价(单位:¥ / 颗)。
输出描述
输出两行。
第一行,输出个整数
表示接下来
天出售的嘉心糖的价格(单位:¥ / 颗) ,
必须取自
,并且
中每一个位置的元素必须使用一次,简而言之,
必须是
的一个排列。
第二行,输出个整数
表示接下来
天出售的嘉心糖的数量(单位:颗),并且
。
如果有多种解决方案,输出任意一种皆可。
示例1
输入:
6 38 1 1 4 5 1 4
输出:
1 5 1 4 4 1 1 9 1 9 8 10
说明:
以这种定价方式时,你的最优方案之一是在第一、二、三、六天各买一颗嘉心糖,在第四天买两颗嘉心糖,总共需要花费¥16。C++(g++ 7.5.0) 解法, 执行用时: 1073ms, 内存消耗: 6212K, 提交时间: 2023-04-15 12:10:14
#include<bits/stdc++.h> #define ll long long using namespace std; int main(){ int n,m,x; cin>>n>>m; for(int i=0;i<n;i++){ cin>>x; cout<<x<<" \n"[i==n-1]; } cout<<"\n"; for(int i=0;i<n-1;i++){ cout<<"1 "; } cout<<m-n+1; return 0; }
C++(clang++ 11.0.1) 解法, 执行用时: 1079ms, 内存消耗: 6260K, 提交时间: 2023-04-14 19:10:28
#include<bits/stdc++.h> using namespace std; int main() { int n,m; cin>>n>>m; for(int i=0;i<n;i++) { int x; cin>>x; cout<<x<<" "; } cout<<"\n"; m=m-n+1; n--; while(n--) { cout<<1<<" "; } cout<<m; }