您的位置:首页 > 其它

Codeforces Round #434 Which floor?

2017-09-19 15:54 369 查看
暴力几个单元一层,看给出的数在几层,是不是有多种可能,没有输出在几层,有输出-1

#include <bits\stdc++.h>
using namespace std;
#define pb() push_back()
int a[105],b[105];
int main(){
// freopen("test.in","r",stdin);
int n,m;
scanf("%d%d",&n,&m);
int maxn=1;
int tmp;
for(int i=1;i<=m;i++)
{
scanf("%d%d",&b[i],&a[i]);
tmp=b[i]/a[i]+(b[i]%a[i]==0?0:1);
maxn=max(tmp,maxn);
}
int tmp1=n/maxn+(n%maxn==0?0:1),cnt1=1;
for(int i=maxn+1;i<=100;i++)
{
int j=1;
for(j=1;j<=m;j++)
{
tmp=b[j]/i+(b[j]%i==0?0:1);
if(tmp!=a[j])break;
}
if(j>m)
{
tmp=n/i+(n%i==0?0:1);
if(tmp1!=tmp)
tmp1=tmp,cnt1++;
}
if(cnt1>=2)break;
}
if(cnt1==1)printf("%d\n",tmp1);
else printf("-1\n");
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: