#include <iostream>
using namespace std;
int main()
{
unsigned int n,m,wybor,l,r,a;
cin >> n >> m;
int deski[n]={0}; //tablica niepomalowanych desek
if((1 <= n && n <= 100000) && (1 <= m && m <= 100000)) //if sprawdzający założenia podane w tekście
{
for(int i = 0; i < m; i++)
{
do cin >> wybor; //wybieramy 1-malowanie czy 2-liczenie warstw, jeśli spoza zakresu to powtórz
while(wybor != 1 && wybor != 2);
switch (wybor)
{
case 1:
cin >> l >> r;
if((1 <= l && l <= n) && (1 <= r && r <= n)) //if sprawdzający założenia podane w tekście
{
for(l; l <= r; l++) //dodajemy warstwe do każdej deski w podanym zakresie
{
deski[l-1]++;
}
}
break;
case 2:
cin >> a; //wyświetlamy ile warstw ma konkretna deska
cout << deski[a-1] << endl;
break;
}
}
}
return 0;
}
Testując kod na stronie, z której wziąłem to zadanie na 40 testów 7 kończy się przekroczeniem limitu czasu (1 s). Zastanawiam się jak mogę przyspieszyć dodawanie warstw do desek (bo jedynie tu widze problem).