同感
by 极电_Mei @ 2018-06-24 13:33:45
我的也是
by 极电_Mei @ 2018-06-24 13:40:34
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
long long i,j,k,l,m,n,sum,b[10000010],maxm;
int main(){
cin>>n;
for (i=1;i<=n;i++){
cin>>k;
b[k]++;
maxm=max(maxm,k);
}
for (i=1;i<=maxm;i++){
if(b[i]!=0){
sum+=6*(m+1);
sum+=5;
sum+=b[i];
m=0;
l=i;
}
else m++;
}
sum+=l*4;
cout<<sum;
return 0;
}
by 极电_Mei @ 2018-06-24 13:40:46
最好别用b[]存a[]的数量,因为a[i]可能很大。
sort之后a[]是有顺序的,直接```
for(LL i=1;i<=n;i++)
if(a[i]!=a[i-1]) ans+=5;
```就行了
by 咪嗷呜喵 @ 2018-07-05 20:30:58
我也是
by 妖孽寒 @ 2018-08-11 10:05:37
啊,AC了
by 妖孽寒 @ 2018-08-11 10:07:57
我是这样的
```
#include<bits/stdc++.h>
using namespace std;
long long a;
bool vis[100000010];
int main()
{
vis[0]=1;
int n;
long long tim=0;
cin>>n;
long long maxx=-100000;
while(n--)
{
cin>>a;
if(vis[a]==0)
{
vis[a]=1;
tim+=6;
}
else
{
tim++;
}
maxx=max(maxx,a);
}
tim+=10*maxx;
cout<<tim<<endl;
}
```
开大点就过了
by 妖孽寒 @ 2018-08-11 10:08:47