2023.7.20

#A. 最大回文数

Description

回文数指的是一个数字,从左到右读和从右到左读都一样。例如,1221 和 1234321 是回文数,1234 不是回文数。

现有 n 个正整数 ai (i=0,1,2,3,…..n-1),请找出其中最大的回文数。

Format

Input

输入文件的第一行只有一个正整数 n,代表正整数 ai 的个数。

接下来的 n 行,每行包含一个正整数 ai。输入保证一定有回文数。

Output

输出文件一行,一个正整数,即最大的回文数。

Samples

输入数据 1

3
4718
1221
121

Copy

输出数据 1

1221

Copy

输入数据 2

5
3944
953
8
75739
46

Copy

输出数据 2

8

Copy

Hint

【输入样例1说明】

回文数有 1221 和 121,最大的回文数是 1221。

【输入样例2说明】

回文数只有一个 8,因此最大的回文数就是 8。

【数据说明】

对于 30%的数据,1 ≤ n ≤ 100,1 ≤ ai ≤ 10^8。

对于 60%的数据,1 ≤ n ≤ 1000,1 ≤ ai ≤ 10^16。

对于 100%的数据,1<=N<=10000,1 ≤ ai ≤ 10^32。

可用string

#include<bits/stdc++.h>
using namespace std;
string num[10010];
bool cmp(string x,string y)
{
	if(x.size()!=y.size())
		return x.size()>y.size();
	else
		return x>y;	 
}
bool judge(string x)
{
	for(int i=0,j=x.size()-1;i<=j;i++,j--)
		if(x[i]!=x[j])
			return false;
	return true;		
}
int n;
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
		cin>>num[i];
	sort(num+1,num+1+n,cmp);
	for(int i=1;i<=n;i++)
		if(judge(num[i])==true)
		{
			cout<<num[i];
			return 0;
		}	
	return 0;	
}

#B. Splitting Pile

Description

小狸和浣熊制作了 N张卡,并堆积成一座山。卡片山上第 i 张卡片上写着整数 a_i。

小狸和浣熊决定分享 N 张卡。小狸从卡片山上,从上到下取了几张卡片后,浣熊会把剩下的全部卡片都取出来。此时,无论是小狸还是浣熊都必须取得 1 张以上的卡。

如果小狸和浣熊所持有的卡片上写着的数的总和分别为 x, y。求出 |x - y| 中可能值的最小值。

Input

第一行给出数字N

第二行给出N个数字

Output

输出一个答案

Samples

输入数据 1

6
1 2 3 4 5 6

Copy

输出数据 1

1

Copy

输入数据 2

2
10  -10

Copy

输出数据 2

20

Copy

Hint

  • 2≤ N≤2×10^5

  • -10^9≤ a_i≤ 10^9

  • a_i是整数

#include<bits/stdc++.h>
using namespace std;
int n;
long long num[200010],tot[200010],ans=LONG_LONG_MAX;
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%lld",&num[i]);
		tot[i]=tot[i-1]+num[i];
	}	
	for(int i=n-1;i>=1;i--)
		ans=min(ans,abs(tot[n]-2*tot[i]));	
	printf("%lld",ans);	
	return 0;
}

#C. 频率排序器

题目描述

给你 �N 个小于等于 �C 的数字组成。

希望频率较高的数字出现在频率较低的数字之前。

给定任何两个数字 �x 和 �y,如果 �x 在原始序列中出现的次数大于 �y 出现的次数,则 �x 出现在 �y 之前。如果出现的次数相等,则输入中谁的值出现的早,谁就应该在排序后的序列中出现靠前。

输入格式

第一行,两个正整数 �,�N,C,含义见题目描述。

第二行,�N 个正整数 ��ai​,表示消息。

输出格式

第一行,�N 个正整数,表示排序后的序列。

样例 #1

样例输入 #1

5 2
2 1 2 1 2

Copy

样例输出 #1

2 2 2 1 1

Copy

样例 #2

样例输入 #2

9 3
1 3 3 3 2 2 2 1 1

Copy

样例输出 #2

1 1 1 3 3 3 2 2 2

Copy

样例 #3

样例输入 #3

9 77
11 33 11 77 54 11 25 25 33

Copy

样例输出 #3

11 11 11 33 33 25 25 77 54

Copy

提示

数据规模及约定 

对于 100%100% 的数据,1≤�≤1031≤N≤103,1≤�≤1091≤C≤109,1≤��≤�1≤ai​≤C。

使用结构体,多重标准排序。


#include<bits/stdc++.h>
using namespace std;
int n,c,tot,num;
bool f;
struct inf
{
	int v,cnt,fi;
}a[1010];
bool cmp(inf x,inf y)
{
	return (x.cnt>y.cnt||(x.cnt==y.cnt&&x.fi<y.fi));
}
int main()
{
	scanf("%d %d",&n,&c);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&num);
		f=false;
		for(int j=1;j<=tot;j++)
			if(a[j].v==num)
			{
				f=true;
				a[j].cnt++;
				break;
			}	
		if(f==false)
		{
			tot++;
			a[tot].v=num;
			a[tot].fi=i;
			a[tot].cnt=1;
		}	
	}	
	sort(a+1,a+1+tot,cmp);
	for(int i=1;i<=tot;i++)
		for(int j=1;j<=a[i].cnt;j++)
			printf("%d ",a[i].v);
	return 0;		
}

| 序号 | 日期 | 说明 | | ---- | ----------- | ---- | | 1 | 2022.12.01 | | | 2 | 2022.12.02 | | | 3 | 2022.12.03 | | | 4 | 2022.12.04 | | | 5 | 2022.12.05 | | | 6 | 2022.12.06 | | | 7 | 2022.12.07 | | | 8 | 2022.12.08 | | | 9 | 2022.12.09 | | | 10 | 2022.12.10 | | | 11 | 2022.12.11 | | | 12 | 2022.12.12 | | | 13 | 2022.12.13 | | | 14 | 2022.12.14 | | | 15 | 2022.12.15 | | | 16 | 2022.12.16 | | | 17 | 2022.12.17 | | | 18 | 2022.12.18 | | | 19 | 2022.12.19 | | | 20 | 2022.12.20 | | | 21 | 2022.12.21 | | | 22 | 2022.12.22 | | | 23 | 2022.12.23 | | | 24 | 2022.12.24 | | | 25 | 2022.12.25 | | | 26 | 2022.12.26 | | | 27 | 2022.12.27 | | | 28 | 2022.12.28 | | | 29 | 2022.12.29 | | | 30 | 2022.12.30 | | | 31 | 2022.12.31 | | | 32 | 2023.01.01 | | | 33 | 2023.01.02 | | | 34 | 2023.01.03 | | | 35 | 2023.01.04 | | | 36 | 2023.01.05 | | | 37 | 2023.01.06 | | | 38 | 2023.01.07 | | | 39 | 2023.01.08 | | | 40 | 2023.01.09 | | | 41 | 2023.01.10 | | | 42 | 2023.01.11 | | | 43 | 2023.01.12 | | | 44 | 2023.01.13 | | | 45 | 2023.01.14 | | | 46 | 2023.01.15 | | | 47 | 2023.01.16 | | | 48 | 2023.01.17 | | | 49 | 2023.01.18 | | | 50 | 2023.01.19 | | | 51 | 2023.01.20 | | | 52 | 2023.01.21 | | | 53 | 2023.01.22 | | | 54 | 2023.01.23 | | | 55 | 2023.01.24 | | | 56 | 2023.01.25 | | | 57 | 2023.01.26 | | | 58 | 2023.01.27 | | | 59 | 2023.01.28 | | | 60 | 2023.01.29 | | | 61 | 2023.01.30 | | | 62 | 2023.01.31 | | | 63 | 2023.02.01 | | | 64 | 2023.02.02 | | | 65 | 2023.02.03 | | | 66 | 2023.02.04 | | | 67 | 2023.02.05 | | | 68 | 2023.02.06 | | | 69 | 2023.02.07 | | | 70 | 2023.02.08 | | | 71 | 2023.02.09 | | | 72 | 2023.02.10 | | | 73 | 2023.02.11 | | | 74 | 2023.02.12 | | | 75 | 2023.02.13 | | | 76 | 2023.02.14 | | | 77 | 2023.02.15 | | | 78 | 2023.02.16 | | | 79 | 2023.02.17 | | | 80 | 2023.02.18 | | | 81 | 2023.02.19 | | | 82 | 2023.02.20 | | | 83 | 2023.02.21 | | | 84 | 2023.02.22 | | | 85 | 2023.02.23 | | | 86 | 2023.02.24 | | | 87 | 2023.02.25 | | | 88 | 2023.02.26 | | | 89 | 2023.02.27 | | | 90 | 2023.02.28 | | | 91 | 2023.03.01 | | | 92 | 2023.03.02 | | | 93 | 2023.03.03 | | | 94 | 2023.03.04 | | | 95 | 2023.03.05 | | | 96 | 2023.03.06 | | | 97 | 2023.03.07 | | | 98 | 2023.03.08 | | | 99 | 2023.03.09 | | | 100 | 2023.03.10 | | | 101 | 2023.03.11 | | | 102 | 2023.03.12 | | | 103 | 2023.03.13 | | | 104 | 2023.03.14 | | | 105 | 2023.03.15 | | | 106 | 2023.03.16 | | | 107 | 2023.03.17 | | | 108 | 2023.03.18 | | | 109 | 2023.03.19 | | | 110 | 2023.03.20 | | | 111 | 2023.03.21 | | | 112 | 2023.03.22 | | | 113 | 2023.03.23 | | | 114 | 2023.03.24 | | | 115 | 2023.03.25 | |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值