|
Ma poate ajuta si pe mine cineva; am incarcat problema si iau 60 de pct si nu stiu ce am gresit :
#include <cstdio> #include <algorithm> using namespace std; char v[10005],a[200]; int put[10000],st[10000],dr[10000],p[200],aux[10005];
int main() { int n,i,j=1,m,s,q,pmax=0,nr=0; freopen("char.in","r",stdin); freopen("char.out","w",stdout); scanf("%d\n",&n); for(i=1;i<=n;++i){ scanf("%c",&v); aux=v; } scanf("%d",&m); for(i=1;i<=m;++i){ scanf("%d",&put); if(put>pmax){ pmax=put; } } sort(aux+1,aux+n+1); i=1; while(i<=n) { a[j]=aux; p[aux]=j; int count=0; while(i<=n&&aux==aux[i+1]){ ++i;++count; } if(put[p[aux]]==pmax) nr+=count+1; ++i;++j; } printf("%d\n",nr); for(i=1;i<=n;++i) { st=i-put[p[v]]; if(st<1) st=1; dr=i+put[p[v]]; if(dr>n) dr=n; } int d=dr[1];nr=1; for(i=1;i<=n;++i) if(d<st) { d=dr; ++nr; } printf("%d",nr); return 0; }
|