NC238008. 阿宁吃粽子
描述
输入描述
第一行输入一个正整数 。第二行输入 个正整数 , 表示第 条粽子的美味值。
输出描述
一行输出 个正整数,第 个数表示吃下的第 条粽子的美味值。
如果有多解,请把美味值较大的粽子,安排到后面。(好吃的留到后面)
示例1
输入:
3 3 1 2
输出:
1 2 3
说明:
该方案美味值为 ,没有别的方案的愉悦值大于 。示例2
输入:
12 4 4 4 3 3 3 2 2 2 1 1 1
输出:
1 2 2 3 3 3 4 4 4 1 1 2
C++(clang++ 11.0.1) 解法, 执行用时: 104ms, 内存消耗: 4716K, 提交时间: 2022-12-01 22:33:05
#include<bits/stdc++.h> using namespace std; int main() { int n,m=0; cin>>n; int a[n+1],b[n+1]; for(int i=0;i<n;i++) { cin>>a[i]; } sort(a,a+n); int x=10; int s=10; while(x--) { for(int i=s;i<=n;i+=10) { b[i]=a[m++]; } s=s%10+1; } for(int i=1;i<=n;i++) { cout<<b[i]<<" "; } return 0; }
pypy3 解法, 执行用时: 407ms, 内存消耗: 43396K, 提交时间: 2022-09-21 10:52:12
n=int(input()) a=[0]+list(map(int,input().split(' '))) a.sort() tar=[0]*(n+1) x=0 for i in range(10): for j in range(i,n+1,10): tar[j]=a[x] x+=1 for i in range(1,n+1): print(tar[i],end=' ')
Python3 解法, 执行用时: 1299ms, 内存消耗: 28952K, 提交时间: 2022-08-27 14:58:36
n=int(input()) l=[*map(int,input().split())] l.sort() ans = [0] * n c = 0 for i in [9,0,1,2,3,4,5,6,7,8]: for j in range(i, n, 10): ans[j] = l[c] c += 1 print(*ans)