Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 995975f

Browse files
Added problems
1 parent 5a0d8f2 commit 995975f

File tree

6 files changed

+385
-0
lines changed

6 files changed

+385
-0
lines changed
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
#include <bits/stdc++.h>
2+
3+
using namespace std;
4+
5+
typedef long int li;
6+
typedef long long int lli;
7+
typedef vector<long long int> vlli;
8+
typedef vector<int> vi;
9+
typedef stack<long long int> slli;
10+
11+
void task()
12+
{
13+
14+
lli lenMachines, lenProducts;
15+
cin >> lenMachines >> lenProducts;
16+
vector<lli> machines(lenMachines);
17+
for (lli i = 0; i < lenMachines; i++)
18+
cin >> machines[i];
19+
lli minTime = *min_element(machines.begin(), machines.end());
20+
lli minTimeRequired = minTime * lenProducts;
21+
22+
lli productsCreated = 0;
23+
24+
lli l = 0;
25+
lli r = minTimeRequired;
26+
27+
while (l < r)
28+
{
29+
30+
lli m = l + (r - l) / 2;
31+
32+
productsCreated = 0;
33+
34+
for (lli i = 0; i < lenMachines; i++)
35+
{
36+
productsCreated += floor(m / machines[i]);
37+
}
38+
39+
if (productsCreated == lenProducts)
40+
{
41+
cout << m << '\n';
42+
return;
43+
}
44+
else if (productsCreated < lenProducts)
45+
{
46+
l = m + 1;
47+
}
48+
else
49+
{
50+
r = m;
51+
}
52+
}
53+
54+
cout << l << '\n';
55+
}
56+
57+
int main()
58+
{
59+
60+
ios::sync_with_stdio(0);
61+
cin.tie(0);
62+
63+
task();
64+
65+
return 0;
66+
}
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
#include <bits/stdc++.h>
2+
3+
using namespace std;
4+
5+
typedef long int li;
6+
typedef long long int lli;
7+
typedef vector<long long int> vlli;
8+
typedef vector<int> vi;
9+
typedef stack<long long int> slli;
10+
11+
void task()
12+
{
13+
14+
lli lenValues;
15+
cin >> lenValues;
16+
17+
vector<lli> response;
18+
19+
lli value;
20+
21+
stack<pair<lli, lli>> s;
22+
23+
for (lli i = 0; i < lenValues; i++)
24+
{
25+
26+
cin >> value;
27+
28+
if (s.empty())
29+
{
30+
response.emplace_back(0);
31+
s.emplace(make_pair(value, i + 1));
32+
continue;
33+
}
34+
35+
bool flag = false;
36+
37+
while (!s.empty())
38+
{
39+
auto top = s.top();
40+
41+
if (top.first < value)
42+
{
43+
response.emplace_back(top.second);
44+
s.emplace(make_pair(value, i + 1));
45+
flag = true;
46+
break;
47+
}
48+
else
49+
{
50+
s.pop();
51+
}
52+
}
53+
54+
if (!flag)
55+
{
56+
response.emplace_back(0);
57+
s.emplace(make_pair(value, i + 1));
58+
}
59+
}
60+
61+
for (auto ans : response)
62+
{
63+
cout << ans << ' ';
64+
}
65+
66+
cout << '\n';
67+
}
68+
69+
int main()
70+
{
71+
72+
ios::sync_with_stdio(0);
73+
cin.tie(0);
74+
75+
task();
76+
77+
return 0;
78+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#include <bits/stdc++.h>
2+
3+
using namespace std;
4+
5+
typedef long int li;
6+
typedef long long int lli;
7+
typedef vector<long long int> vlli;
8+
typedef vector<int> vi;
9+
typedef stack<long long int> slli;
10+
11+
void task()
12+
{
13+
14+
lli lenNumbers, reqSum;
15+
cin >> lenNumbers >> reqSum;
16+
map<lli, lli> occurences;
17+
18+
occurences[0]++;
19+
20+
lli num;
21+
lli currSum = 0;
22+
lli ans = 0;
23+
24+
for (lli i = 0; i < lenNumbers; i++)
25+
{
26+
cin >> num;
27+
currSum += num;
28+
ans += occurences[currSum - reqSum];
29+
occurences[currSum]++;
30+
}
31+
32+
cout<<ans<<'\n';
33+
}
34+
35+
int main()
36+
{
37+
38+
ios::sync_with_stdio(0);
39+
cin.tie(0);
40+
41+
task();
42+
43+
return 0;
44+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#include <bits/stdc++.h>
2+
3+
using namespace std;
4+
5+
typedef long int li;
6+
typedef long long int lli;
7+
typedef vector<long long int> vlli;
8+
typedef vector<int> vi;
9+
typedef stack<long long int> slli;
10+
11+
void task()
12+
{
13+
14+
lli lenNumbers, reqSum;
15+
cin >> lenNumbers >> reqSum;
16+
map<lli, lli> occurences;
17+
18+
occurences[0]++;
19+
20+
lli num;
21+
lli currSum = 0;
22+
lli ans = 0;
23+
24+
for (lli i = 0; i < lenNumbers; i++)
25+
{
26+
cin >> num;
27+
currSum += num;
28+
ans += occurences[currSum - reqSum];
29+
occurences[currSum]++;
30+
}
31+
32+
cout<<ans<<'\n';
33+
}
34+
35+
int main()
36+
{
37+
38+
ios::sync_with_stdio(0);
39+
cin.tie(0);
40+
41+
task();
42+
43+
return 0;
44+
}
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
#include <bits/stdc++.h>
2+
3+
using namespace std;
4+
5+
typedef long int li;
6+
typedef long long int lli;
7+
typedef vector<long long int> vlli;
8+
typedef vector<int> vi;
9+
typedef stack<long long int> slli;
10+
11+
void task()
12+
{
13+
14+
lli lenNumbers, reqSum;
15+
cin >> lenNumbers >> reqSum;
16+
17+
vector<pair<lli, lli>> numbers;
18+
19+
lli temp;
20+
21+
for (lli i = 1; i <= lenNumbers; i++)
22+
{
23+
cin >> temp;
24+
numbers.emplace_back(make_pair(temp, i));
25+
};
26+
27+
if (lenNumbers < 4)
28+
{
29+
cout << "IMPOSSIBLE\n";
30+
return;
31+
}
32+
33+
sort(numbers.begin(), numbers.end());
34+
35+
lli i, j, k, m;
36+
lli sum;
37+
38+
vector<lli> ans;
39+
40+
for (m = 0; m < lenNumbers - 3; m++)
41+
{
42+
for (i = m + 1; i < lenNumbers - 2; i++)
43+
{
44+
j = i + 1;
45+
k = lenNumbers - 1;
46+
47+
while (j < k)
48+
{
49+
50+
sum = numbers[m].first + numbers[i].first + numbers[j].first + numbers[k].first;
51+
52+
if (sum == reqSum)
53+
{
54+
cout << numbers[m].second << ' ' << numbers[i].second << ' ' << numbers[j].second << ' ' << numbers[k].second << '\n';
55+
return;
56+
}
57+
else if (sum < reqSum)
58+
{
59+
j++;
60+
}
61+
else
62+
{
63+
k--;
64+
}
65+
}
66+
}
67+
}
68+
69+
cout << "IMPOSSIBLE\n";
70+
}
71+
72+
int main()
73+
{
74+
75+
ios::sync_with_stdio(0);
76+
cin.tie(0);
77+
78+
task();
79+
80+
return 0;
81+
}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
#include <bits/stdc++.h>
2+
3+
using namespace std;
4+
5+
typedef long int li;
6+
typedef long long int lli;
7+
typedef vector<long long int> vlli;
8+
typedef vector<int> vi;
9+
typedef stack<long long int> slli;
10+
11+
void task()
12+
{
13+
14+
lli lenNumbers, reqSum;
15+
cin >> lenNumbers >> reqSum;
16+
17+
vector<pair<lli, lli>> numbers;
18+
19+
lli temp;
20+
21+
for (lli i = 1; i <= lenNumbers; i++) {
22+
cin >> temp;
23+
numbers.emplace_back(make_pair(temp, i));
24+
};
25+
26+
if (lenNumbers < 3)
27+
{
28+
cout << "IMPOSSIBLE\n";
29+
return;
30+
}
31+
32+
sort(numbers.begin(), numbers.end());
33+
34+
lli i, j, k;
35+
lli sum;
36+
37+
vector<lli> ans;
38+
39+
for (i = 0; i < lenNumbers - 2; i++)
40+
{
41+
j = i + 1;
42+
k = lenNumbers - 1;
43+
44+
while(j < k) {
45+
46+
sum = numbers[i].first + numbers[j].first + numbers[k].first;
47+
48+
if(sum == reqSum) {
49+
cout<<numbers[i].second<<' '<<numbers[j].second<<' '<<numbers[k].second<<'\n';
50+
return;
51+
} else if (sum < reqSum) {
52+
j++;
53+
} else {
54+
k--;
55+
}
56+
57+
}
58+
}
59+
60+
cout<<"IMPOSSIBLE\n";
61+
}
62+
63+
int main()
64+
{
65+
66+
ios::sync_with_stdio(0);
67+
cin.tie(0);
68+
69+
task();
70+
71+
return 0;
72+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /