#ifdef _MSC_VER #define _CRT_SECURE_NO_WARNINGS #endif #include<iostream> #include<vector> #include<fstream> #include<algorithm> #include<string> #include<cmath> #include<sstream> using namespace std; int n, m, t; string temp; int counter[10]; int answers[100002]; int answer(int mas[], int x) { int B = 0; for (int i = 0; i <= 9; i++) B += mas[i] * abs(x - i); return B; } int main() { cin>>n>>m; vector<int>M; vector<int>M2; cin >> temp; int B = 0; for (int i = 0; i < m; i++) { cin>>t; M.push_back(t); M2.push_back(t); } sort(M.begin(), M.end()); int k = 0; for (int i = 1; i <= n; i++) { if (k == M.size()) break; if (i == M[k]) { answers[M[k]] = answer(counter, temp[M[k]-1]-'0'); k++; } counter[temp[i - 1] - '0']++; } for (int i = 0; i < m; i++) printf("%d\n", answers[M2[i]]); return 0; }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)