传送门

解题思路

  还是比较好想的,用一个队列,然后把所有点放在一起排个序,依次入队。每次检查队头元素的种类是否为当前入队元素种类,是的话就一直\(pop\),每次更新答案即可。

代码

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<queue> using namespace std;
const int MAXN = 1000005; inline int rd(){
int x=0;char ch=getchar();
while(!isdigit(ch)) ch=getchar();
while(isdigit(ch)) {x=(x<<1)+(x<<3)+ch-'0';ch=getchar();}
return x;
} int n,k,ans=1e9,cnt,num;
int vis[MAXN];
struct Data{
int col,t;
friend bool operator<(const Data A,const Data B){
return A.t<B.t;
}
}data[MAXN],tmp; queue<int> Q; int main(){
n=rd();k=rd();int x;
for(int i=1;i<=k;i++){
x=rd();tmp.col=i;
while(x--) {tmp.t=rd();data[++cnt]=tmp;}
}
sort(data+1,data+1+cnt);
for(int i=1;i<=cnt;i++){
Q.push(i);
if(!vis[data[i].col]) num++;vis[data[i].col]=i;
while(Q.size()){
x=Q.front();if(vis[data[x].col]!=x) Q.pop();
else break;
}
if(num==k) ans=min(ans,data[i].t-data[x].t);
}cout<<ans;
return 0;
}

最新文章

  1. 搞清arguments,callee,caller
  2. #1015 : KMP算法
  3. Linux服务器配置git服务
  4. java thread run and start
  5. POJ 2449Remmarguts&#39; Date K短路模板 SPFA+A*
  6. hdu 2897 邂逅明下
  7. IOS开发网络篇之──ASIHTTPRequest详解
  8. 武汉科技大学ACM:1007: 陶陶摘苹果
  9. firefox关于about:config的常用配置
  10. AbstractHandlerMapping解读
  11. jquery实现ajax提交表单
  12. C++ 既有约定
  13. javaAPI实现elasticsearch5.5.2的聚合分析
  14. RMQPOJ3264
  15. PHP 服务器及TP5框架遇到的几个错误
  16. 数据结构~trie树(字典树)
  17. jsp中的EL和JSTL的关系
  18. zookeeper 启动脚本
  19. 20145109竺文君、20145106石晟荣 java实验三
  20. https页面证书验证、加密过程简介

热门文章

  1. Java利用MD5WithRSA签名及DESede加密
  2. ./vimrc代码解析全
  3. java两个栈实现一个队列&amp;&amp;两个队列实现一个栈
  4. PHP PDO 大对象 (LOBs)
  5. LeetCode 1037. Valid Boomerang (有效的回旋镖)
  6. PAT_A1043#Is It a Binary Search Tree
  7. Auto.js淘宝领喵币
  8. Pathfinding 模板题 /// BFS oj21413
  9. 5个CSS3技术实现设计增强
  10. BBS论坛 项目表分析