int main()
{
size_t n, m;
cin >> n >> m;
vector<string> marks(n);
for (size_t i = 0; i < n; ++i)
{
cin >> marks[i];
}
vector<bool> successful(n, false);
for (size_t subject = 0; subject < m; ++subject)
{
char best = '0';
for (size_t i = 0; i < n; ++i)
{
if (marks[i][subject] > best)
{
best = marks[i][subject];
}
}
for (size_t i = 0; i < n; ++i)
{
if (marks[i][subject] == best)
{
successful[i] = true;
}
}
}
cout << count(successful.begin(), successful.end(), true);
return 0;
}
This was a code I found, and it's really confusing me. How can you subscript a vector just like a 2d array without it being a 2d vector(vector of a vector). and how can you input to a vector without push back ? these 2, mainly confuse me if (marks[i][subject]cin >> marks[i];
Thanks in advance!