cf 1037 D、E
2025-07-18 09:00:44
发布于:浙江
#include <bits/stdc++.h>
using namespace std;
int n,k;
struct w{
int a;
int b;
int c;
};
w a[100005];
bool operator < (w a,w b){
if(a.a!=b.a) return a.a<b.a;
return a.c>b.c;
}
void solve(){
cin>>n>>k;
for(int i=1;i<n+1;i++){
cin>>a[i].a>>a[i].b>>a[i].c;
}
sort(a+1,a+n+1);
for(int i=1;i<n+1;i++){
if(a[i].a<=k && k<=a[i].b && a[i].c>k){
k=a[i].c;
}
}
cout<<k<<endl;
return ;
}
int main(){
int t=0;
cin>>t;
while(t--){
solve();
}
return 0;
}
#include <bits/stdc++.h>
using namespace std;
int n;
long long a[100005],b[100005],c[100005],e[100005],f[100005];
int gcd(long long a,int b){
if(!b) return a;
return gcd(b,a%b);
}
vector<int>v[100005],u[100005];
bool solve(){
cin>>n;
for(int i=1;i<n+1;i++){
cin>>a[i];
}
for(int i=1;i<n+1;i++){
cin>>b[i];
c[i]=a[i]*b[i]/gcd(a[i],b[i]);
}
e[1]=c[1];
for(int i=2;i<n+1;i++){
e[i]=gcd(c[i],e[i-1]);
}
f[n]=c[n];
for(int i=n-1;i;i--){
f[i]=gcd(f[i+1],c[i]);
}
for(int i=1;i<n+1;i++){
if(a[i]!=e[i] || b[i]!=f[i]) return false;
}
return true;
}
int main(){
int t=0;
cin>>t;
while(t--){
if(solve()) cout<<"YES\n";
else cout<<"NO\n";
}
return 0;
}
全部评论 1
%%%
我D解法好像是错的,E没想出来2025-07-18 来自 湖南
0D没被hack也是逆天了
2025-07-18 来自 湖南
0你cf号多少,我或许可以hack一下
2025-07-18 来自 浙江
0如果真的有问题
2025-07-18 来自 浙江
0
有帮助,赞一个