当前位置: 首页 > article >正文

Codeforces Round 867 (Div. 3)

目录

A. TubeTube Feed

B. Karina and Array

C. 包子情人

D. Super-Permutation


A. TubeTube Feed

 

输入
5
5 9
1 5 7 6 6
3 4 7 1 9
4 4
4 3 3 2
1 2 3 4
5 7
5 5 5 5 5
2 1 3 9 7
4 33
54 71 69 96
42 24 99 1
2 179
55 66
77 88
输出
3
2
3
-1
2
#include <iostream>
#include <algorithm>
#define int long long
using namespace std;
const int N = 110;
signed main()
{
	int t;
	cin >> t;
	while(t --)
	{
		int cnt=0,num=0,flag=0;
		int a[N],b[N];
		int n,m;
		cin >> n >> m;
		for(int i = 1;i <= n;i ++)
		{
			cin >> a[i];
			a[i]+=i-1;//换一个频道需要花一秒的时间 
		}
		for(int i = 1;i <= n;i ++)
		{
			cin >> b[i];
		}
		for(int i = 1;i <= n;i ++)
		{
			if(a[i]<=m)
			{
				if(cnt<b[i])
				{
					cnt=max(cnt,b[i]);
					num=i;
			    	flag=1;
				}
			}
		}
		if(flag) printf("%lld\n",num);
		else printf("-1\n");
	}
	return 0;
}

B. Karina and Array

 

 

输入
7
4
5 0 2 1
3
-1 1 0
5
2 0 -1 -4 0
6
-8 4 3 7 1 -9
6
0 3 -2 5 -4 -4
2
1000000000 910000000
7
-1 -7 -2 -5 -4 -6 -3
输出
10
0
4
72
16
910000000000000000
42
#include <iostream>
#include <algorithm>
#define int long long
using namespace std;
const int N = 1e7;
int a[N],b[N],c[N];
signed main()
{
	int t;
	cin >> t;
	while(t --)
	{
		int n;
		cin >> n;
		for(int i = 1;i <= n;i ++)
		{
			cin >> a[i];
		}
		sort(a+1,a+1+n);
		printf("%lld\n",max(a[1]*a[2],a[n]*a[n-1]));
		}
	return 0;
}

C. 包子情人

 

#include <iostream>
#include <algorithm>
#define int long long
using namespace std;
signed main()
{
	int t;
	cin >> t;
	while(t --)
	{
		int n;
		cin >> n;
		printf("%lld\n",(n+1)*(n+1)+1);
	}
	return 0;
}

D. Super-Permutation

 

大致题意:

给你一个数n。你需要构造出一个1-n的排列,顺序不定,前缀和之后的数组。每个位置%n,之后,每个位置再加1,仍然是一个排列,就满足了

#include <iostream>
#include <algorithm>
#define int long long
using namespace std;
const int N = 2e5 + 10;
int a[N];
signed main()
{
	int t;
	cin >> t;
	while(t --)
	{
		int n;
		cin >> n;
		if(n == 1)
		printf("1\n");
		else if(n%2)
		{
			printf("-1\n");
		}
		else
		{
			a[0]=n;
			for(int i = 1;i < n;i ++)
			{
				a[i]=n-i;
				if(a[i]%2==0) a[i]=n-a[i];
			}
			for(int i = 0;i < n;i ++)
			{
				printf("%lld ",a[i]);
			}
			printf("\n");
		}
	}
	return 0;
}


 


http://www.kler.cn/a/15451.html

相关文章:

  • Uniapp 引入 Android aar 包 和 Android 离线打包
  • 了解什么是Python(简介)
  • 6.584-Lab1:MapReduce
  • Ubuntu 的 ROS 操作系统 turtlebot3 导航仿真
  • uniapp 实现tabbar分类导航及滚动联动效果
  • 单片机学习笔记 1. 点亮一个LED灯
  • Mysql 存储过程 / 存储函数
  • 博弈论又称对策论的入门及在军事博弈问题上的简单实战
  • conda命令
  • 【MySQL】数据表的增删查改
  • ChatGPT技术原理 第六章:对话生成技术
  • 【VQ-VAE代码实战】Neural Discrete Representation Learning
  • Kafka3.0.0版本——生产者数据有序与乱序
  • 在linux下搭建clash服务
  • 学生成绩管理系统 002
  • Java阶段二Day07
  • Java版企业电子招投标系统源码 Spring Cloud+Spring Boot 电子招标采购系统功能清单
  • 什么是FAQ页面?如何设计一个优秀的FAQ页面?
  • 【unity项目实战】3DRPG游戏开发06——敌人和攻击
  • 教你一招 | 亚马逊如何做好自有品牌?
  • FPGA基于XDMA实现PCIE X8视频采集HDMI输出 提供工程源码和QT上位机程序和技术支持
  • 关于储存器的笔记
  • 一维卷积与一维平均池化的时间复杂度
  • 关于《浏览器如何工作》---塔利加西尔 博客的疑惑与解答
  • Android性能优化——内存泄漏的根本原因
  • linux0.12-6-4