初级启示者
2645 参观画廊
经验值:1200 时间限制:1000毫秒 内存限制:128MB
题目描述 Description
画廊上展示了N位**的若干张传世之作。看画是要收门票的,收取的办法是,你如果看的话只能选择几幅连续的画观看,比如从第a幅看到第b幅,费用是画的数量,一张1元钱。有一个对艺术一窍不通的**来看画,他只是想随便看看,每位**的画至少看一张,满足这个条件就够了。请你帮他选择最省钱的购买门票的方式。
输入描述 Input Description
第一行,两个整数,M N,表示有M幅画,出自N位**之手
接下来一行,M个数字,每个数字i取自1到N之间,表示这幅画出自第i位**之手
输出描述 Output Description
两个整数,看的第一幅画和最后一幅画的编号
样例输入 Sample Input
12 5 2 5 3 1 3 2 4 1 1 5 4 3
样例输出 Sample Output
2 7
数据范围及提示 Data Size & Hint
N≤1,000,000 , M≤2,000
献上我0分的代码
#include<bits/stdc++.h>
using namespace std;
int n,m,a[1000005],mina=0x3f3f3f3f,ll,rr;
int f[2005];
bool check(int l,int r){
for(int i=1;i<=m;i++){
if(!f[i]){
return 0;
}
}
return 1;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
int l=1,r=1;
while(!(r==n+1&&r-l==m)){
while(r<=n&&!check(l,r)){
f[a[r]]++;
r++;
}
if(r-l<mina){
mina=r-l;
ll=l;
rr=r-1;
}
// cout<<"左:"<<l<<" 右:"<<r-1<<" 钱数:"<<r-l<<" 最小左:"<<ll<<" 最小右:"<<rr<<" 最小钱数:"<<mina<<endl;
f[a[l]]--;
l++;
}
cout<<ll<<' '<<rr;
return 0;
}
哪里错了啊?
我也发 调试试炼场里啦 https://ke.codingtang.com/#/debug/detail?id=15340
熊潇然在2022-10-03 15:58:58追加了内容
真的没人吗会吗?
熊潇然在2022-10-03 15:59:09追加了内容
真的没人吗会吗?
熊潇然在2022-10-04 10:09:47追加了内容
啊!!!
熊潇然在2022-10-04 15:26:18追加了内容
ding
熊潇然在2022-10-05 13:34:23追加了内容
dingdingdingdingding
熊潇然在2022-10-06 18:56:30追加了内容
asfasfsdafs
熊潇然在2022-10-07 15:12:55追加了内容
要不......
熊潇然在2022-10-07 17:52:29追加了内容
原来是问2645 参观画廊 怎么做的,结果没人......
现在要是谁能猜到幸运数字(1~1000)我就采纳谁!!!
熊潇然在2022-10-07 18:06:14追加了内容
快来快来
熊潇然在2022-10-07 18:15:14追加了内容
每人限3次机会
熊潇然在2022-10-07 18:18:34追加了内容
1~888
杨弘毅 还剩机会:2
熊潇然在2022-10-07 20:34:56追加了内容
1~520
杨弘毅 还剩机会:2
赵俊哲 还剩机会:2
熊潇然在2022-10-07 20:43:14追加了内容
1~180
杨弘毅 还剩机会:2
赵俊哲 还剩机会:2
王海成 还剩机会:2
熊潇然在2022-10-07 21:02:02追加了内容
1~60
杨弘毅 还剩机会:2
赵俊哲 还剩机会:2
王海成 还剩机会:2
王旭杰 还剩机会:1
熊潇然在2022-10-08 12:43:04追加了内容
30~60
杨弘毅 还剩机会:2
赵俊哲 还剩机会:2
王海成 还剩机会:2
王旭杰 还剩机会:1
陈雨泽 还剩机会:2
熊潇然在2022-10-08 12:52:49追加了内容
30~43
杨弘毅 还剩机会:2
赵俊哲 还剩机会:2
王海成 还剩机会:1
王旭杰 还剩机会:1
陈雨泽 还剩机会:2
熊潇然在2022-10-08 17:10:47追加了内容
33~43
杨弘毅 还剩机会:2
赵俊哲 还剩机会:2
王海成 还剩机会:1
王旭杰 还剩机会:1
陈雨泽 还剩机会:2
钱思源 还剩机会:2
熊潇然在2022-10-08 17:56:19追加了内容
38~43
杨弘毅 还剩机会:2
赵俊哲 还剩机会:2
王海成 还剩机会:1
王旭杰 还剩机会:1
陈雨泽 还剩机会:2
钱思源 还剩机会:2
丁耀勋 还剩机会:2
任泓涛 还剩机会:2
熊潇然在2022-10-08 17:58:06追加了内容
40~43
杨弘毅 还剩机会:2
赵俊哲 还剩机会:2
王海成 还剩机会:1
王旭杰 还剩机会:1
陈雨泽 还剩机会:2
钱思源 还剩机会:2
丁耀勋 还剩机会:2
任泓涛 还剩机会:2
马伟翔 还剩机会;1
熊潇然在2022-10-08 18:10:17追加了内容
恭喜 王海成!!!