http://codeforces.com/contest/919/problem/A
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,m,i,j;
double ans=1e10;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
{
int x,y;
scanf("%d%d",&x,&y);
ans=min(ans,m*1.0*x/y);
}
printf("%.8f\n",ans);
}
http://codeforces.com/contest/919/problem/B
#include<bits/stdc++.h>
using namespace std;
int num[10005],cnt;
int main()
{
int n,i;
for(i=1;i<=11000000;i++)
{
int sum=0,j=i;
while(j)
{
sum+=j%10;
j/=10;
}
if(sum==10)
num[cnt++]=i;
}
scanf("%d",&n);
printf("%d\n",num[n-1]);
}
http://codeforces.com/contest/919/problem/C
#include<bits/stdc++.h>
using namespace std;
char s[2005][2005];
int main()
{
int n,m,k,i,j;
long long res=0;
scanf("%d%d%d",&n,&m,&k);
for(i=0;i<n;i++)
{
scanf("%s",s[i]);
int last=-1;
for(j=0;j<m;j++)
if(s[i][j]=='*')
{
if(j-last>k)
res+=j-last-k;
last=j;
}
if(m-last>k)
res+=m-last-k;
}
for(i=0;i<m;i++)
{
int last=-1;
for(j=0;j<n;j++)
if(s[j][i]=='*')
{
if(j-last>k)
res+=j-last-k;
last=j;
}
if(n-last>k)
res+=n-last-k;
}
if(k==1)
res/=2;
printf("%I64d\n",res);
return 0;
}
http://codeforces.com/contest/919/problem/D
#include<bits/stdc++.h>
using namespace std;
const int maxn=3000005;
vector<int> edge[maxn],dp[maxn];
int n,m,u,v,in[maxn],ans,cnt;
char s[maxn];
int main()
{
scanf("%d%d",&n,&m);
scanf("%s",s+1);
while(m--&&scanf("%d%d",&u,&v)!=EOF)
{
edge[u].push_back(v);
in[v]++;
}
queue<int> que;
for(int i=1;i<=n;dp[i++].resize(26,0))
if(!in[i])
que.push(i);
while(que.size())
{
int now=que.front();
dp[now][s[now]-'a']++;
cnt++;
que.pop();
for(int i=0;i<26;i++)
ans=max(ans,dp[now][i]);
for(vector<int>::iterator it=edge[now].begin();it!=edge[now].end();it++)
{
for(int i=0;i<26;i++)
dp[*it][i]=max(dp[*it][i],dp[now][i]);
if(!--in[*it])
que.push(*it);
}
}
if(cnt==n)
printf("%d\n",ans);
else
printf("-1\n");
return 0;
}
http://codeforces.com/contest/919/problem/E
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
ll a,b,p,x,tp=1,res=0,m,mp=1;
scanf("%I64d%I64d%I64d%I64d",&a,&b,&p,&x);
for(int i=0;i<p-2;i++)
tp=tp*a%p;
for(ll i=0;i<p-1;i++,mp=mp*tp%p)
res+=(floor)((x*1.0-i)/(p-1)-((i-b*mp%p)%p+p)%p)/p+1;
printf("%I64d\n",res);
return 0;
}