Magic Star Intensity Code
Magic Star Intensity Code
C++
TCS CodeVita Round 1 Zone 1
#include <iostream>
#include <vector>
#include <map>
#include <set>
#include <cmath>
#include <algorithm>
using namespace std;
struct Line
{
int x1, y1, x2, y2;
};
int main()
{
int N, K;
cin >> N;
vector<Line> lines(N);
for (int i = 0; i < N; ++i)
{
cin >> lines[i].x1 >> lines[i].y1 >> lines[i].x2 >> lines[i].y2;
if (lines[i].x1 > lines[i].x2 || (lines[i].x1 == lines[i].x2 && lines[i].y1
> lines[i].y2))
{
swap(lines[i].x1, lines[i].x2);
swap(lines[i].y1, lines[i].y2);
}
}
cin >> K;
int placementlelo = 0;
for (auto& star : stars)
{
if (star.second.size() / 2 == K)
{
vector<int> intensities;
for (auto& line : star.second)
{
intensities.push_back(countCells(line, star.first, true));
}
placementlelo += *min_element(intensities.begin(), intensities.end());
}
}
cout << placementlelo << endl;
return 0;
}