codeforces 558B Amr and The Large Array

题意:有一个数组,现在要削减它的尺寸,,数组中相同元素的个数的最大值为数组的魅力值,要求削减后魅力值不能减少,同时要尽可能的把尺寸减到最小

分析:水题,主要是不要想复杂了,还有就是沉下心来做

代码:

#include<iostream>#include<cstring>#include<algorithm>#define INF 1000000007#define max(a,b) a>b?a:busing namespace std;int n,a[100010];int tot[1000010];int l[1000010],r[1000010];int main(){while(cin>>n){memset(tot,0,sizeof(tot));memset(l,0,sizeof(l));memset(r,0,sizeof(r));int mx=-1; for(int i=1;i<=n;i++){cin>>a[i];if(tot[a[i]]==0) l[a[i]]=i,r[a[i]]=i;else r[a[i]]=i;tot[a[i]]++;mx=max(mx,tot[a[i]]); } int mi=INF; int ans; for(int i=1;i<=n;i++){if(tot[a[i]]==mx){int tmp=r[a[i]]-l[a[i]];if(mi>tmp){mi=tmp;ans=a[i];}} } cout<<l[ans]<<" "<<r[ans]<<endl;}}

版权声明:本文为博主原创文章,未经博主允许不得转载。

一个能从别人的观念来看事情,能了解别人心灵活动的人,永远不必为自己的前途担心。

codeforces 558B Amr and The Large Array

相关文章:

你感兴趣的文章:

标签云: