[cf516E]Drazil and His Happy Friends


1 #include<bits/stdc++.h>
2 using namespace std;
3 #define N 100005
4 #define ll long long
5 int n,m,d,kk,b[N],g[N],vb[N],vg[N],v[N<<1];
6 ll ans;
7 bool cmp(int x,int y){
8 return (x%d<y%d)||(x%d==y%d)&&(x<y);
9 }
10 int exgcd(int x,int y,int &a,int &b){
11 if (!y){
12 a=1;
13 b=0;
14 return x;
15 }
16 int g=exgcd(y,x%y,b,a);
17 b-=(x/y)*a;
18 return g;
19 }
20 ll calc(){
21 bool flag=(n<=vb[0]+vg[0]);
22 ll ans=-1;
23 if (flag){
24 for(int i=0,j=1,k=1;i<n;i++){
25 if (((j>vb[0])||(vb[j]!=i))&&((k>vg[0])||(vg[k]!=i))){
26 flag=0;
27 break;
28 }
29 if ((i<m)&&((j>vb[0])||(vb[j]!=i)||(k>vg[0])||(vg[k]!=i)))ans=i;
30 if ((j<=vb[0])&&(vb[j]==i))j++;
31 if ((k<=vg[0])&&(vg[k]==i))k++;
32 }
33 if (flag)return ans;
34 ans=0;
35 }
36 v[0]=0;
37 for(int i=1;i<=vb[0];i++)v[++v[0]]=1LL*vb[i]*kk%n;
38 for(int i=1;i<=vg[0];i++)v[++v[0]]=1LL*vg[i]*kk%n;
39 sort(v+1,v+v[0]+1);
40 if (v[1]==v[v[0]])return 1LL*v[1]*m%n+1LL*(n-1)*m;
41 ans=1LL*v[v[0]]*m%n+((v[1]-v[v[0]]+1LL*kk*n)%n-1)*m;
42 for(int i=1;i<v[0];i++)
43 if (v[i]!=v[i+1])ans=max(ans,1LL*v[i]*m%n+((v[i+1]-v[i])%n-1LL)*m);
44 return ans;
45 }
46 int main(){
47 scanf("%d%d",&n,&m);
48 d=exgcd(n,m,b[0],g[0]);
49 n/=d;
50 m/=d;
51 if (n>m)kk=(g[0]%n+n)%n;
52 else kk=(b[0]%m+m)%m;
53 scanf("%d",&b[0]);
54 for(int i=1;i<=b[0];i++)scanf("%d",&b[i]);
55 scanf("%d",&g[0]);
56 for(int i=1;i<=g[0];i++)scanf("%d",&g[i]);
57 if (d>b[0]+g[0]){
58 printf("-1");
59 return 0;
60 }
61 sort(b+1,b+b[0]+1,cmp);
62 sort(g+1,g+g[0]+1,cmp);
63 if (n<m)swap(n,m);
64 for(int i=0,j=1,k=1;i<d;i++){
65 vb[0]=vg[0]=0;
66 while ((j<=b[0])&&(b[j]%d==i))vb[++vb[0]]=b[j++]/d;
67 while ((k<=g[0])&&(g[k]%d==i))vg[++vg[0]]=g[k++]/d;
68 if ((!vb[0])&&(!vg[0])){
69 printf("-1");
70 return 0;
71 }
72 ans=max(ans,calc()*d+i);
73 }
74 printf("%lld",ans);
75 }
[cf516E]Drazil and His Happy Friends的更多相关文章
- CodeForces 515C. Drazil and Factorial
C. Drazil and Factorial time limit per test 2 seconds memory limit per test 256 megabytes input stan ...
- CodeForces 515B. Drazil and His Happy Friends
B. Drazil and His Happy Friends time limit per test 2 seconds memory limit per test 256 megabytes in ...
- Codeforces Round #292 (Div. 1) C. Drazil and Park 线段树
C. Drazil and Park 题目连接: http://codeforces.com/contest/516/problem/C Description Drazil is a monkey. ...
- Codeforces Round #292 (Div. 1) B. Drazil and Tiles 拓扑排序
B. Drazil and Tiles 题目连接: http://codeforces.com/contest/516/problem/B Description Drazil created a f ...
- [codeforces 516]A. Drazil and Factorial
[codeforces 516]A. Drazil and Factorial 试题描述 Drazil is playing a math game with Varda. Let's define ...
- CF Drazil and Factorial (打表)
Drazil and Factorial time limit per test 2 seconds memory limit per test 256 megabytes input standar ...
- CF Drazil and His Happy Friends
Drazil and His Happy Friends time limit per test 2 seconds memory limit per test 256 megabytes input ...
- CF Drazil and Date (奇偶剪枝)
Drazil and Date time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- Codeforces Round #292 (Div. 1) - B. Drazil and Tiles
B. Drazil and Tiles Drazil created a following problem about putting 1 × 2 tiles into an n × m gri ...
随机推荐
- Filter防火墙
实验简介 实验属于防火墙系列 实验目的 了解个人防火墙的基本工作原理: 掌握Filter防火墙的配置. 实验环境 一台安装了win7操作系统的主机. 预备知识 防火墙 防火墙(Firewall)是一项 ...
- 题解 Sue的小球/名次排序问题/方块消除/奥运物流
Sue的小球 名次排序问题 方块消除 奥运物流 Sue的小球 题目大意 有 \(n\) 个小球在下落,初始位置 \((x_i,y_i)\),下落速度为 \(v_i\).你初始位置在 \(x_0\),速 ...
- C++ IDE或编辑器安装
IDE介绍 上节课我们讲了C++编译器,可是没有好的编辑器,只用记事本打代码,这谁受得了.Linux vim至少还有代码高亮(即我作文里经常会出现的"彩色的代码"),记事本连高亮都 ...
- Java(17)面向对象之多态
作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15201621.html 博客主页:https://www.cnblogs.com/testero ...
- [对对子队]会议记录5.19(Scrum Meeting6)
今天已完成的工作 吴昭邦 工作内容:搭建第9关 相关issue:搭建关卡7.8.9 相关签入:feat: 第9关能够通过 何瑞 工作内容:搭建第9关 相关issue:搭建关卡7.8 ...
- Alpha阶段发布声明
发布声明 Alpha 1.Alpha版本功能说明 功能列表和详情图 模块 功能 展示 首页 查看首页博文,搜索博文,可供未登录用户使用 动态 查看推荐动态给未登录用户使用,登录用户可以查看关注动态.我 ...
- BUAA软件工程结对项目作业
BUAA软件工程结对项目 小组成员:16005001,17373192 1.教学班级和项目地址 项目 内容 这个作业属于哪个课程 博客园班级连接 这个作业的要求在哪里 结对项目作业 我在这个课程的目标 ...
- [暴力题解&&考试反思] 双十一欢乐赛(联赛膜你测试32)
前言: 今天考试很迷糊.从7点考到11点半,我大概从7点睡到9点.隐隐约约看到旁边的狗哥敲了好几个题,我才开始写代码.然后因为还是很困,而且T1迷迷糊糊调了好长时间,T3T4的暴力就懒的写了... 估 ...
- 安装hexo博客
前言 ** 跟着步骤一步一步来进行安装 ** 准备环境:node.js和包管理器npm 1:查看包文件 接着安装 淘宝镜像源 sudo这个需要添加获取文件夹访问权限 sudo npm install ...
- Python AttributeError: module 'sys' has no attribute 'setdefaultencoding'
Python 3 与 Python 2 有很大的区别,其中Python 3 系统默认使用的就是utf-8编码. 所以,对于使用的是Python 3 的情况,就不需要sys.setdefaultenco ...