首页 > 其他分享 >Codeforces Round #450 (Div. 2) 题解

Codeforces Round #450 (Div. 2) 题解

时间:2022-10-24 15:38:29浏览次数:49  
标签:ch return 450 题解 ll long int Div define


A

#include<bits/stdc++.h> 
using namespace std;
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
For(j,m-1) cout<<a[i][j]<<' ';\
cout<<a[i][m]<<endl; \
}
#pragma
#define
#define
#define
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
ll mul(ll a,ll b){return (a*b)%F;}
ll add(ll a,ll b){return (a+b)%F;}
ll sub(ll a,ll b){return ((a-b)%F+F)%F;}
void upd(ll &a,ll b){a=(a%F+b%F)%F;}
inline int read()
{
int x=0,f=1; char ch=getchar();
while(!isdigit(ch)) {if (ch=='-') f=-1; ch=getchar();}
while(isdigit(ch)) { x=x*10+ch-'0'; ch=getchar();}
return x*f;
}
int main()
{
// freopen("A.in","r",stdin);
// freopen(".out","w",stdout);

int n=read(),px=0,py=0;
For(i,n) {
int x=read(),y=read();
px+=(x>0);
}
if(px==1||px==n-1) puts("Yes");
else if(px==0||px==n)puts("Yes");
else puts("No");

return 0;
}

B

#include<bits/stdc++.h> 
using namespace std;
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
For(j,m-1) cout<<a[i][j]<<' ';\
cout<<a[i][m]<<endl; \
}
#pragma
#define
#define
#define
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
ll mul(ll a,ll b){return (a*b)%F;}
ll add(ll a,ll b){return (a+b)%F;}
ll sub(ll a,ll b){return ((a-b)%F+F)%F;}
void upd(ll &a,ll b){a=(a%F+b%F)%F;}
inline int read()
{
int x=0,f=1; char ch=getchar();
while(!isdigit(ch)) {if (ch=='-') f=-1; ch=getchar();}
while(isdigit(ch)) { x=x*10+ch-'0'; ch=getchar();}
return x*f;
}
int main()
{
// freopen("B.in","r",stdin);
// freopen(".out","w",stdout);
ll a=read(),b=read(),c=read();
ll ans=a%b;
For(i,9000000) {
ans*=10;
ll p=ans/b;
ans%=b;
if(p==c) cout<<i<<endl,exit(0);
}
puts("-1");

return 0;
}

C

#include<bits/stdc++.h> 
using namespace std;
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
For(j,m-1) cout<<a[i][j]<<' ';\
cout<<a[i][m]<<endl; \
}
#pragma
#define
#define
#define
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
ll mul(ll a,ll b){return (a*b)%F;}
ll add(ll a,ll b){return (a+b)%F;}
ll sub(ll a,ll b){return ((a-b)%F+F)%F;}
void upd(ll &a,ll b){a=(a%F+b%F)%F;}
inline int read()
{
int x=0,f=1; char ch=getchar();
while(!isdigit(ch)) {if (ch=='-') f=-1; ch=getchar();}
while(isdigit(ch)) { x=x*10+ch-'0'; ch=getchar();}
return x*f;
}
#define
int n,a[MAXN];
int pre[MAXN];
int c[MAXN];
bool b[MAXN];
int main()
{
// freopen("C.in","r",stdin);
// freopen(".out","w",stdout);
n=read();
For(i,n) a[i]=read();
if(n==1) {
puts("1") ;return 0;
}
if(n==2) {
puts("1");return 0;
}
int mx1=0,mx2=0;
For(i,n) {
if(mx2>a[i]) {
}else if (mx1>a[i]) {
c[mx1]++;
}
int p=a[i];
b[i]=(mx1<p);
if(p>mx1) mx2=mx1,mx1=p;
else if(p>mx2) mx2=p;
}
int ans=-INF,px=-1;
For(i,n) {
int p=c[a[i]]-(b[i]==1);
if(p>ans) ans=p,px=a[i];
else if(p==ans) px=min(px,a[i]);
}
cout<<px<<endl;

return 0;
}

D

#include<bits/stdc++.h> 
using namespace std;
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
#define
For(j,m-1) cout<<a[i][j]<<' ';\
cout<<a[i][m]<<endl; \
}
#pragma
#define
#define
#define
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
inline int read()
{
int x=0,f=1; char ch=getchar();
while(!isdigit(ch)) {if (ch=='-') f=-1; ch=getchar();}
while(isdigit(ch)) { x=x*10+ch-'0'; ch=getchar();}
return x*f;
}
#define
ll pow2(ll a,ll b){
if(b==0) return 1;
if (b==1)return a%F;
ll p=pow2(a,b/2);
p=p*p%F;
if(b&1) p=p*a%F;
return p;
}
ll f[MAXN];
int main()
{
// freopen("D.in","r",stdin);
// freopen(".out","w",stdout);

ll x=read(),y=read();
if(y%x) puts("0"),exit(0);
y/=x;
ll n=y;
vi v;
for(ll i=1;i*i<=n;i++) if(n%i==0){
v.pb(i);
if(i*i!=n) v.pb(n/i);
}
sort(ALL(v));
int sz=v.size();
for(int i=sz-1;i>=0;i--) {
f[i]=pow2(2,n/v[i]-1);
for(int j=i+1;j<sz;j++) if(v[j]%v[i]==0) {
f[i]=(F+f[i]-f[j])%F;
}
}
cout<<f[0]<<endl;
return 0;
}


标签:ch,return,450,题解,ll,long,int,Div,define
From: https://blog.51cto.com/u_15724837/5789892

相关文章