fork download
  1. #include <bits/stdc++.h>
  2. #define lli long long int
  3. #define sc(a) scanf("%lld",&a)
  4. #define pf(a) printf("%lld\n",a);
  5. #define gc() getchar_unlocked()
  6. #define sc_(a,b) scanf("%lld%lld",&a,&b)
  7. #define FOR(i,a,b) for(lli i=a;i<b;i++)
  8. using namespace std;
  9. struct node
  10. {
  11. lli data;
  12. lli grtr[10];
  13. };
  14. struct node arr[1000000];
  15. lli my_abs(lli x)
  16. {
  17. if(x<0)
  18. return -x;
  19. return x;
  20. }
  21. int main()
  22. {
  23. lli n,m;
  24. sc_(n,m);gc();
  25. FOR(i,0,n)//taking input
  26. {
  27. char temp=gc();
  28. arr[i].data=temp-'0';
  29. }
  30.  
  31. FOR(j,0,10)
  32. arr[0].grtr[j]=0;
  33.  
  34. FOR(i,1,n)
  35. {
  36. FOR(j,0,10)
  37. {
  38. arr[i].grtr[j]=arr[i-1].grtr[j];
  39. }
  40. arr[i].grtr[arr[i-1].data]++;
  41. }
  42.  
  43. FOR(i,0,m)
  44. {
  45. lli x;
  46. sc(x);
  47. x--;
  48. lli s=0;
  49. FOR(i,0,10)
  50. {
  51. lli t=arr[x].grtr[i];
  52. s=s+t*my_abs(i-arr[x].data);
  53. //printf("t=%lld i=%lld\n",t,i);
  54. }
  55. pf(s);
  56. s=0;
  57. }
  58. return 0;
  59. }
Runtime error #stdin #stdout 0.4s 89344KB
stdin
Standard input is empty
stdout
Standard output is empty