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

P3131 [USACO16JAN] Subsequences Summing to Sevens S

题目描述

Farmer John's NN cows are standing in a row, as they have a tendency to do from time to time. Each cow is labeled with a distinct integer ID number so FJ can tell them apart. FJ would like to take a photo of a contiguous group of cows but, due to a traumatic childhood incident involving the numbers 1…61…6, he only wants to take a picture of a group of cows if their IDs add up to a multiple of 7.

Please help FJ determine the size of the largest group he can photograph.

给你n个数,分别是a[1],a[2],...,a[n]。求一个最长的区间[x,y],使得区间中的数(a[x],a[x+1],a[x+2],...,a[y-1],a[y])的和能被7整除。输出区间长度。若没有符合要求的区间,输出0。

输入格式

The first line of input contains NN (1≤N≤50,0001≤N≤50,000). The next NN

lines each contain the NN integer IDs of the cows (all are in the range

0…1,000,0000…1,000,000).

输出格式

Please output the number of cows in the largest consecutive group whose IDs sum

to a multiple of 7. If no such group exists, output 0.

输入输出样例

输入 #1复制

7
3
5
1
6
2
14
10

输出 #1复制

5

说明/提示

In this example, 5+1+6+2+14 = 28.

import java.util.Scanner;public class Main {// 这里可以根据需要定义一个相对较大的数,模拟C++中的maxn,不过Java中可以根据实际输入动态分配空间public static final int MAXN = 50010;static int[] pre = new int[MAXN];static int n;static int mx = -1;static int[] first = new int[7];static int[] last = new int[7];public static void main(String[] args) {Scanner scanner = new Scanner(System.in);n = scanner.nextInt();for (int i = 1; i <= n; i++) {pre[i] = scanner.nextInt();pre[i] = (pre[i] + pre[i - 1]) % 7;}// 倒着遍历找第一次出现余数的位置for (int i = n; i >= 1; i--) {first[pre[i]] = i;}first[0] = 0;// 正着遍历找最后一次出现余数的位置for (int i = 1; i <= n; i++) {last[pre[i]] = i;}// 遍历余数情况,找最大长度for (int i = 0; i <= 6; i++) {mx = Math.max(last[i] - first[i], mx);}System.out.println(mx);scanner.close();}
}

http://www.lryc.cn/news/498713.html

相关文章:

  • 大数据技术Kafka详解 ② | Kafka基础与架构介绍
  • 【CKA】Kubernetes(k8s)认证之CKA考题讲解
  • android WebRtc 无法推流以及拉流有视频无声音问题
  • 【5G】Spectrum 频谱
  • Flink学习连载文章11--双流Join
  • R语言 | 峰峦图 / 山脊图
  • 16-03、JVM系列之:内存与垃圾回收篇(三)
  • 解决Windows与Ubuntu云服务器无法通过Socket(udp)通信问题
  • Mysql 中的锁机制
  • 12月第1周AI资讯
  • 【音频识别】数据集合集!
  • Nginx核心配置详解
  • 智能工厂的设计软件 用“力force”的性质构造智能体原型
  • Apache AGE:基于PostgreSQL的图数据库
  • RabbitMQ延迟消息的实现
  • SAP在中国:助力企业跨越成长的新篇章
  • 数据结构代码归纳
  • 数仓技术hive与oracle对比(一)
  • 筑起厂区安全--叉车安全防护装置全解析
  • 深入浅出云计算 ---笔记
  • ARINC 标准全解析:航空电子领域多系列标准的核心内容、应用与重要意义
  • SNMP 协议介绍
  • Python中的数据结构深入解析:从列表到字典的优化技巧
  • 如何利用Java爬虫获得商品类目
  • 力扣面试题 32 - 检查平衡性 C语言解法
  • 【机器学习】机器学习的基本分类-监督学习-决策树-ID3 算法
  • Implicit style-content separation using lora
  • ROS[aruco_ros+easy_handeye]手眼标定(眼在手外+UR10e+realsense-d435i)
  • 第九篇:k8s 通过helm发布应用
  • dataTable