#include <iostream>
using namespace std;
int main()
{
int t, n;
cin >> t >> n;
int a[n];
for (int i = 0; i < n; ++i){
int mark;
cin >> mark;
a[i] = mark;
}
for (int i = -t; i <= t; ++i){
cout << i << ": ";
for (int j = 0; j < n; ++j)
if(a[j] == i)cout << j + 1 << " ";
cout << endl;
}
return 0;
}
Объяснение:
не знаю, что тут объяснять, вроде все просто.
P.s. Если , дайте , лучший ответ и жмякните на " ". Это мотивирует продолжать давать ответы.
человеку из комментариев за поправки.
Если в 4-й и 5-й строках исходного кода на Python 1 отступ, а в 6-й - два отступа, то эквивалент на C++ может быть записан в следующем виде:
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
int main()
{
char c;
int n, k;
std::vector<int> left,right;
std::string line,nk;
std::vector<char> bahn;
std::getline(std::cin, line);
for (int i = 0; i < line.length(); i++)
if (line[i] != ' ') nk.push_back(line[i]);
else { n = atoi(nk.c_str()); nk = std::string(); }
k = atoi(nk.c_str());
for (int i=0;i<n;i++) bahn.push_back('I');
for (int i = 0; i < k; i++)
{
nk.clear();
std::getline(std::cin, line);
for (int i = 0; i < line.length(); i++)
if (line[i] != ' ') nk.push_back(line[i]);
else { left.push_back(atoi(nk.c_str())); nk = std::string(); }
right.push_back(atoi(nk.c_str()));
}
line = std::string(bahn.begin(), bahn.end());
for (int i = 0; i < k; i++)
for (int j = left.at(i) - 1; j < right.at(i); j++)
line[j] = '.';
std::cout << line;
return 0;
}