CF413A Data Recovery题解
Distorted_Fate_ · · 题解
CF413A Data Recovery题解
博客食用更佳
题目传送门
这道题目比较简单,我就直接阐述我的思路了。
首先从这
然后有几个条件要判断:
-
-
-
计算
mn 和mx 与给定最小值和最大值之间相差的个数。如果n-m 还小于这个个数,也就无法满足题目要求。
上述三种情况满足任意一种,即输出“Incorrect”; 都不满足,就输出“Correct”。
思路说完,上代码--
AC Code
#include<bits/stdc++.h>
using namespace std;
int n,m,s,a;
int main() {
int mn=101,mx=0;
cin>>n>>m>>s>>a;//输入
for(int i=1; i<=m; i++) {
int x;
cin>>x;
mn=min(mn,x),mx=max(mx,x);//遍历,寻找最大最小值
}
if(mn<s||mx>a||n-m<(s!=mn)+(a!=mx)) {//判断
cout<<"Incorrect";
}
else {
cout<<"Correct";
}
return 0;//完美结束
}
后记:
这是我的第一篇题解,可能讲的有不足之处,还请大家谅解。另外,如果文中有错误也请指出,谢谢大家!