Gym
来源:互联网 发布:php 不识别utf8 编辑:程序博客网 时间:2024/06/13 00:27
每一个x 的位置不会相同
a 数组 保存下每个机械臂的行号,up 和 dn 数组保存每个传送带的可以获得物资的上界和下界
#include <iostream>#include <cstdio>#include <cstring>#include <cstdlib>#include <cmath>#include <set>#include <queue>#include <algorithm>#include <vector>#include <cctype>#include <stack>#include <sstream>#include <list>#include <map>#include <assert.h>#define debug() puts("************")#define MS(a,b) memset(a,b,sizeof a)using namespace std;typedef long long LL;typedef unsigned long long ULL;typedef pair<int,int> P;const int INF = 0x3f3f3f3f;const double inf = 1e20;const double PI = 3.1415926535;const double eps = 1e-15;const LL mod = 1e9+7;const int dx[] = {-1,0,1,0};const int dy[] = {0,1,0,-1};const int maxn = 200000 + 7, maxd = 100000 + 7;;int n, m;int a[maxd];int dn[maxn];int up[maxn];void init() { int x, y; memset(a, 0, sizeof a); for(int i = 0; i < m; ++i) { scanf("%d %d", &x, &y); a[x] = y; } for(int i = 1; i <= n; ++i) { up[i] = dn[i] = i; }}void solve() { for(int i = 0; i <= 100000; ++i) { int id = a[i]; if(id) { up[id] = up[id+1] = min(up[id], up[id+1]); dn[id] = dn[id+1] = max(dn[id], dn[id+1]); } } printf("%d", dn[1]-up[1]+1); for(int i = 2; i <= n; ++i) { printf(" %d", dn[i]-up[i]+1); } puts("");}int main() { scanf("%d %d", &n, &m); init(); solve(); return 0;}
阅读全文
1 0
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- Gym
- C# 迭代器Iterator
- 【java项目】Service注入或Bean注入两种实现方法
- [多线程]NSThread, NSOperation 和 GCD
- 设置谷歌浏览器的flash 插件
- Solr linux安装配置
- Gym
- POJ 3342 Party at Hali-Bula(树的最大独立集)
- python基本语法(1)
- Airlines — 2
- 职场历程记 2017-09-01
- SonarQube与SonarRunner安装配置
- maven常见问题问答
- 数组中的逆序对
- Tinker热更新