华师一附中OI组
标题:
tyvj忠诚求解 我做了好久都只能过七个点
[打印本页]
作者:
hr567
时间:
2014-10-22 21:43
标题:
tyvj忠诚求解 我做了好久都只能过七个点
本帖最后由 hr567 于 2014-10-22 21:45 编辑
老管家是一个聪明能干的人。他为财主工作了整整10年,财主为了让自已账目更加清楚。要求管家每天记k次账,由于管家聪明能干,因而管家总是让财主十分满意。但是由于一些人的挑拨,财主还是对管家产生了怀疑。于是他决定用一种特别的方法来判断管家的忠诚,他把每次的账目按1,2,3…编号,然后不定时的问管家问题,问题是这样的:在a到b号账中最少的一笔是多少?为了让管家没时间作假他总是一次问多个问题。
输入中第一行有两个数m,n。表示有m(m<=100000)笔账,n表示有n个问题,n<=100000。第二行为m个数,分别是账目的钱数。后面n行分别是n个问题,每行有2个数字说明开始结束的账目编号。
样例输入
10 3
1 2 3 4 5 6 7 8 9 10
2 7
3 9
1 10
样例输出
2 3 1
——我不生产题目,我只是题目的搬运工。
作者:
admin
时间:
2014-10-23 10:49
若是这道题的规模,直接排序后查找应该没有问题的。
作者:
hr567
时间:
2014-10-23 22:02
第九个点总是过不了……
#include<iostream>
using namespace std;
int main()
{
long i, j, k, m, n, t;
int a[100001];
cin >> m >> n;
for(i = 1; i <= m; ++i)
cin >> a[i];
for(i = 1; i <= n; ++i)
{
cin >> j >> k;
for(t = a[j]; j <= k; ++j)
if(a[j] < t)t = a[j];
cout << t << ' ';
}
return 0;
}
复制代码
作者:
hr567
时间:
2014-10-23 22:04
结果:
测试数据 #1: Accepted, time=0ms, mem=640KB, score=10
测试数据 #2: Accepted, time=0ms, mem=640KB, score=10
测试数据 #3: Accepted, time=0ms, mem=640KB, score=10
测试数据 #4: Accepted, time=0ms, mem=636KB, score=10
测试数据 #5: Accepted, time=130ms, mem=640KB, score=10
测试数据 #6: Accepted, time=0ms, mem=640KB, score=10
测试数据 #7: Accepted, time=100ms, mem=640KB, score=10
测试数据 #8: Accepted, time=20ms, mem=844KB, score=10
测试数据 #9: Time Limit Exceeded, time=1000ms, mem=784KB, score=0
测试数据 #10: Accepted, time=120ms, mem=636KB, score=10
Time = 1370ms Mem = 844KB Score= 90
作者:
wsk12345
时间:
2014-11-7 20:49
这个题其实不需要线段树
作者:
wsk12345
时间:
2014-11-7 20:50
本帖最后由 wsk12345 于 2014-11-7 20:54 编辑
#include<cstdio>
#include<algorithm>
using namespace std;
struct data //用结构体存储数据,value是账目,pos是这个账目的原下标
{
int value,pos;
};
int m,n,L,R;
bool comp(data a,data b)
{
if(a.value<b.value) return true;
else return false;
}
int main()
{
scanf("%d%d",&m,&n);
data a[m];
for(int i=0; i<m; ++i)
{
scanf("%d",&a[i].value);
a[i].pos=i;
}
sort(a,a+m,comp);
for(int i=0;i<n;++i)
{
scanf("%d%d",&L,&R);
for(int j=0;j<m;++j)
{
if((a[j].pos>=L-1)&&(a[j].pos<=R-1)) {cout<<a[j].value<<' ';break;}
}
}
return 0;
}
复制代码
作者:
wsk12345
时间:
2014-11-7 20:52
这里就别用cin了,经不起大数据轰炸,之前用cin超时,换了scanf()就好了
欢迎光临 华师一附中OI组 (http://hsyit.cn/)
Powered by Discuz! X3.2