Codeforces Round #276 (Div. 1) B. Maximum Value
来源:互联网 发布:九宫图算法应用 编辑:程序博客网 时间:2024/06/10 07:57
数学题
但是我用的是暴力去求解的
先去重,再根据数量分类讨论(注意,去重的时候可以选择用计数排序,或者sort+unique函数)
#include <algorithm>#include <iostream>#include <iomanip>#include <cstring>#include <climits>#include <complex>#include <fstream>#include <cassert>#include <cstdio>#include <bitset>#include <vector>#include <deque>#include <queue>#include <stack>#include <ctime>#include <set>#include <map>#include <cmath>#define CLR(x,y) memset(x,y,sizeof(x))#define mp(x,y) make_pair(x,y)#define eps 1e-9#define INF 0x3f3f3f3f#define LLINF 1LL<<62using namespace std;typedef long long ll;typedef long double ld;typedef pair<ll, ll> pll;typedef complex<ld> point;typedef pair<int, int> pii;typedef pair<pii, int> piii;template<class T>inline bool read(T &n){ T x = 0, tmp = 1; char c = getchar(); while((c < '0' || c > '9') && c != '-' && c != EOF) c = getchar(); if(c == EOF) return false; if(c == '-') c = getchar(), tmp = -1; while(c >= '0' && c <= '9') x *= 10, x += (c - '0'),c = getchar(); n = x*tmp; return true;}template <class T>inline void write(T n){ if(n < 0) { putchar('-'); n = -n; } int len = 0,data[20]; while(n) { data[len++] = n%10; n /= 10; } if(!len) data[len++] = 0; while(len--) putchar(data[len]+48);}//-----------------------------------const int MAXN=1000005;int vis[MAXN];int a[MAXN];int n,cnt;int main(){ read(n); for(int i=1,t;i<=n;i++) { read(t); vis[t]=1; } for(int i=1;i<MAXN;i++) { if(!vis[i])continue; a[++cnt]=i; } int ans=0; if(cnt<=5000) { for(int i=1;i<=cnt;i++) for(int j=i+1;j<=cnt;j++) ans=max(ans,a[j]%a[i]); //cout<<a[j]%a[i]<<endl; } else { for(int i=cnt-1;i;i--) { if(ans>=a[i]-1)break; for(int j=a[i]*2;j-a[i]<=a[cnt];j+=a[i]) { int u=lower_bound(a+1,a+cnt+1,j)-a; //cout<<i<<' '<<j<<' '<<u<<' '<<a[u-1]%a[i]<<endl; ans=max(ans,a[u-1]%a[i]); } } } printf("%d\n",ans); return 0;}
0 0
- Codeforces Round #276 (Div. 1) B. Maximum Value
- Codeforces Round #276 (Div. 1) B. Maximum Value
- Codeforces Round #276 (Div. 1) B. Maximum Value(哈兮)
- Codeforces Round #276 (Div. 1) B. Maximum Value(数论)
- B. Maximum Value(Codeforces Round #276(div1)
- Codeforces Round #276 (Div. 2)-D. Maximum Value
- Codeforces Round #276 (Div. 1) B
- Codeforces Round #193 (Div. 2) B. Maximum Absurdity
- Codeforces Round #193 (Div. 2) B. Maximum Absurdity
- Codeforces Round #221 (Div. 1) B. Maximum Submatrix 2 dp排序
- CodeForces 484B Maximum Value
- Codeforces 484B Maximum Value
- cf Round #276 (Div. 2) D. Maximum Value
- Codeforces Round #276 (Div. 1)B(暴力)
- Codeforces Round #131 (Div. 1) B. Numbers
- Codeforces Round #119 (Div. 1) B. AlgoRace
- Codeforces Round #215 (Div. 1) <A-B>
- Codeforces Round #225 (Div. 1) B. Volcanoes
- linux 截图工具scrot
- RabbitMQ学习之spring整合发送异步消息(注解实现)
- asp.net-GridView控件行绑定练习
- 程矢Axure夜话:嵌入代码系列视频教程之新浪微博秀
- 前端杂碎(一)
- Codeforces Round #276 (Div. 1) B. Maximum Value
- vim按键
- Java网络编程,上传文件
- list 常用函数
- 程矢Axure夜话:嵌入代码系列视频教程之腾讯微博秀
- 用例模板说明
- 程矢Axure夜话:嵌入代码系列视频教程之嵌入视频
- 最大似然估计与最大后验概率
- 解决openSUSE 13.2 无法使用DSL拨号