Codeforces Round #649 (Div. 2) A. XXXXX
2024-09-03 15:26:14
题目链接:https://codeforces.com/contest/1364/problem/A
题意
找出大小为 $n$ 的数组 $a$ 的最长连续子数组,其元素和不被 $x$ 整除。
题解
- 如果数组的每个元素都被 $x$ 整除,则不存在不被 $x$ 整除的子数组
- 如果整个数组之和不被 $x$ 整除,答案即为整个数组
- 如果整个数组之和被 $x$ 整除,删去最短的不被 $x$ 整除的一端子数组
代码
#include <bits/stdc++.h>
using namespace std; void solve() {
int n, x; cin >> n >> x;
int a[n] = {}, sum = 0;
for (int i = 0; i < n; i++) {
cin >> a[i];
a[i] %= x, sum += a[i];
}
if (sum == 0)
cout << -1 << "\n";
else if (sum % x)
cout << n << "\n";
else {
int l = 0, r = n - 1;
while (a[l] == 0) ++l;
while (a[r] == 0) --r;
cout << max(n - 1 - l, r) << "\n";
}
} int main() {
int t; cin >> t;
while (t--) solve();
}
最新文章
- Python自动化之YAML解析
- python中的构造函数和析构函数
- Android线程---UI线程和非UI线程之间通信
- iis启动网站提示 文件正在使用
- 属性观察者willSet与didSet
- <;address>;标签,为网页加入地址信息
- BZOJ 2705 [SDOI2012]Longge的问题 ——Dirichlet积
- 1000: A+B Problem(NetWork Flow)
- Vue中过度动画效果应用
- ACM pie
- Go 定时任务
- python框架django-web层
- Tree View控件(添加,移除,设置图标)
- MySQL添加新用户、为用户创建数据库、为新用户分配权限
- 查看iis对应w3wp.exe显示的进程ID号
- Formal Grammars of English -10 chapter(Speech and Language Processing)
- eval方法将字符串转换成json对象
- linux 查看硬件信息
- 题目1161:Repeater(规律输出图形)
- WCF揭秘学习笔记(3):使用DataContractSerializer