题目链接:http://lightoj.com/volume_showproblem.php?problem=1100

题意是给你n个数,q个询问,每次求出 a 到 b(从0开始)最小差值;

直接暴力就能过:

#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
#include<iostream>
using namespace std;
#define N 1010
#define INF 0xfffffff
int num[N*], cnt[N], vis[N]; int main()
{
int T, t=, n, a, b, q;
scanf("%d", &T);
while(T--)
{
scanf("%d%d", &n, &q);
for(int i=; i<n; i++)
scanf("%d", &num[i]);
printf("Case %d:\n", t++);
while(q--)
{
memset(vis, , sizeof(vis));
scanf("%d%d", &a, &b);
int flag = , Min = INF;
for(int i=a; i<=b; i++)
{
if(vis[num[i]]==)
{
flag=;
break;
}
else
{
for(int j=a; j<i; j++)
Min = min(Min, abs(num[i]-num[j]));
vis[num[i]] = ;
}
}
if(flag == )
Min = ;
printf("%d\n", Min);
}
}
return ;
}
#include<stdio.h>
#include<string.h>
#include<algorithm>
#include<math.h>
#include<iostream>
using namespace std;
#define N 1010
#define INF 0xfffffff
int num[N*], cnt[N]; int main()
{
int T, t=, n, a, b, q;
scanf("%d", &T);
while(T--)
{
scanf("%d%d", &n, &q);
for(int i=; i<n; i++)
scanf("%d", &num[i]);
printf("Case %d:\n", t++);
while(q--)
{
memset(cnt, , sizeof(cnt));
scanf("%d%d", &a, &b);
int flag = , Min = INF, pre = ;
for(int i=a; i<=b; i++)
cnt[num[i]]++;
for(int i=; i<=; i++)
{
if(flag == )break;
if(cnt[i]>=)
{
flag = ;break;
}
if(cnt[i]==)
{
if(pre == ) pre = i;
else
{
Min = min(Min, i-pre);
if(Min == )flag = ;
pre = i;
}
}
}
if(flag == )
Min = ;
printf("%d\n", Min);
}
}
return ;
}

最新文章

  1. 为Visual Studio更换皮肤和背景图
  2. Android学习笔记——Bundle
  3. map函数
  4. 如何撰写SCI论文的讨论部分?——经典结构 – 俗称“倒漏斗型。
  5. 在单机Hadoop上面增加Slave
  6. Visual Studio 2008快捷键
  7. UVA 507 - Jill Rides Again 动态规划
  8. linux php安装memcached扩展
  9. C#高性能大容量SOCKET并发(八):通讯协议
  10. VS2010 / MFC + OpenCV 2.4.9打开图片
  11. 第十一课 CSS介绍与font字体 css学习1
  12. 通过CONN_MAX_AGE优化Django的数据库连接
  13. Jetty - 教程
  14. linux:逐行合并两文件(paste命令)
  15. kali linux宿主机和虚拟机互访实现方案
  16. Codeforces 1139D Steps to One dp
  17. layer 中 的type和 content
  18. AttributeError: &#39;Request&#39; object has no attribute &#39;json&#39;, cherrypy 无法接收到json字符串,解决方法
  19. 1-1、create-react-app 配置 mobx
  20. 深入理解java集合框架之---------Arraylist集合 -----构造函数

热门文章

  1. js鼠标触发事件集合
  2. js监听文本框变化事件
  3. HTML5中的拖放
  4. 在.net4的环境下使用Microsoft.AspNet.SignalR.Client 2.4.0
  5. Dom监听组合按键
  6. Math - Uva 11300 Spreading the Wealth
  7. 随机森林(Random Forest)
  8. pycharm Tab键设置成4个空格
  9. 为什么选择使用Spring Cloud而放弃了Dubbo
  10. typecho篇