Skip to content

Commit bb82e0d

Browse files
author
ksh-code
committed
y
1 parent 6b4daff commit bb82e0d

26 files changed

+856
-51
lines changed

11000.cpp

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#include <iostream>
2+
#include <algorithm>
3+
#include <queue>
4+
using namespace std;
5+
6+
typedef long long ll;
7+
8+
void solve(){
9+
int N; cin >> N;
10+
pair<int,int> arr[N];
11+
for (int i = 0; i < N; i++) {
12+
cin >> arr[i].first >> arr[i].second;
13+
}
14+
sort(arr, arr+N);
15+
priority_queue<int> pq; pq.push(-arr[0].second);
16+
for (int i = 1; i < N; i++){
17+
auto [a,b] = arr[i];
18+
if (a >= -pq.top()) pq.pop();
19+
pq.push(-b);
20+
}
21+
cout << pq.size();
22+
}
23+
24+
int main()
25+
{
26+
cin.tie(0)->sync_with_stdio(0);
27+
solve();
28+
return 0;
29+
}

11564.cpp

+34
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#include <iostream>
2+
#include <cmath>
3+
#include <algorithm>
4+
5+
using namespace std;
6+
7+
typedef long long ll;
8+
9+
void solve(){
10+
ll k,a,b;
11+
cin>>k>>a>>b;
12+
13+
ll count = 0;
14+
if (a <= 0 && b >= 0) {
15+
count++;
16+
count += abs(a) / k;
17+
count += abs(b) / k;
18+
} else {
19+
a = abs(a);
20+
b = abs(b);
21+
if (a > b) swap(a,b);
22+
count += b/k;
23+
count -= a/k;
24+
if (a % k == 0) count++;
25+
}
26+
cout << count;
27+
}
28+
29+
int main()
30+
{
31+
cin.tie(0)->sync_with_stdio(0);
32+
solve();
33+
return 0;
34+
}

11689.cpp

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
#include <iostream>
2+
#include <vector>
3+
#include <memory.h>
4+
using namespace std;
5+
6+
typedef long long ll;
7+
8+
const int MAX = 1e6;
9+
10+
void solve(){
11+
ll N; cin >> N; if (N==1) {
12+
cout << 1;
13+
return;
14+
}
15+
bool tp[MAX+1]; memset(tp, 1, sizeof(tp));
16+
vector<ll> primes;
17+
ll s = 1;
18+
for (ll i = 2; i <= MAX;i++) {
19+
if (!tp[i]) continue;
20+
if (N % i == 0) {
21+
primes.push_back(i);
22+
while (N % (s * i) == 0) s *= i;
23+
}
24+
for (int j = i+i; j<=MAX; j+=i) tp[j] = false;
25+
}
26+
27+
if (s < N && N % s == 0) primes.push_back(N/s);
28+
ll result = 0;
29+
30+
for (int i = 1; i < (1<<primes.size()); i++) {
31+
int count = 0;
32+
ll r = 1;
33+
for (int j = 0; (1<<j) <= i; j++) {
34+
if (i & (1<<j)) {
35+
count++;
36+
r *= primes[j];
37+
}
38+
if (r > N) {
39+
count = 0;
40+
break;
41+
}
42+
}
43+
44+
if (count == 0) continue;
45+
46+
if (count % 2) {
47+
result += N / r;
48+
} else {
49+
result -= N / r;
50+
}
51+
}
52+
53+
cout << N-result;
54+
}
55+
56+
int main()
57+
{
58+
cin.tie(0)->sync_with_stdio(0);
59+
solve();
60+
return 0;
61+
}

11815.cpp

+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#include <iostream>
2+
3+
using namespace std;
4+
typedef long long ll;
5+
void solve(){
6+
ll N; cin >> N;
7+
ll l = 1, r = 1e9+1;
8+
while (l+1 < r){
9+
ll m = (l+r)/2;
10+
if (m*m<=N) l = m;
11+
else r = m;
12+
}
13+
cout << (l*l==N);
14+
}
15+
16+
int main()
17+
{
18+
cin.tie(0)->sync_with_stdio(0);
19+
int N; cin >> N; while(N--) {
20+
solve(); cout << ' ';
21+
}
22+
return 0;
23+
}

12495.cpp

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#include <iostream>
2+
3+
using namespace std;
4+
5+
typedef long long ll;
6+
7+
int gcd(int a, int b) {
8+
return b ? gcd(b, a%b) : a;
9+
}
10+
11+
int lcm(int a, int b) {
12+
return a*b/gcd(a,b);
13+
}
14+
15+
void solve(){
16+
int N, L, H; cin >> N >> L >> H;
17+
int r = 1;
18+
int arr[N]; for (int i = 0; i < N; i++) cin >> arr[i];
19+
for (int i = L; i <= H; i++) {
20+
bool found = true;
21+
for (int j = 0; j < N; j++) {
22+
found &= arr[j]%i==0 || i % arr[j] == 0;
23+
}
24+
if (found) {
25+
cout << i;
26+
return;
27+
}
28+
}
29+
cout << "NO";
30+
}
31+
32+
int main()
33+
{
34+
cin.tie(0)->sync_with_stdio(0);
35+
int T; cin >> T;
36+
for (int i = 1; i <= T; i++) {
37+
cout << "Case #"<<i<<": ";
38+
solve();
39+
cout << '\n';
40+
}
41+
return 0;
42+
}

13414.cpp

+36
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#include <iostream>
2+
#include <map>
3+
#include <vector>
4+
#include <string>
5+
#include <stack>
6+
using namespace std;
7+
8+
typedef long long ll;
9+
10+
int gcd(int a, int b) {
11+
return b ? gcd(b, a % b) : a;
12+
}
13+
14+
void solve(){
15+
int a,b;cin>>a>>b;
16+
map<string,int>m;
17+
vector<pair<string,int>>v;
18+
for (int i = 0; i < b; i++) {
19+
string s; cin >> s;
20+
m[s]++;
21+
v.push_back({s,m[s]});
22+
}
23+
for (auto [c,d] : v) {
24+
if (m[c]==d && a) {
25+
a--;
26+
cout << c << '\n';
27+
}
28+
}
29+
}
30+
31+
int main()
32+
{
33+
cin.tie(0)->sync_with_stdio(0);
34+
solve();
35+
return 0;
36+
}

13904.cpp

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
#include <iostream>
2+
#include <set>
3+
#include <vector>
4+
#include <algorithm>
5+
#include <memory.h>
6+
using namespace std;
7+
typedef long long ll;
8+
9+
10+
void solve(){
11+
int N; cin >>N;
12+
pair<int,int> arr[N];
13+
for (int i = 0; i < N; i++) {
14+
cin >> arr[i].first >> arr[i].second;
15+
}
16+
sort(arr, arr+N);
17+
multiset<int> s;
18+
for (int i = 0; i < N; i++) {
19+
auto [a,b] = arr[i];
20+
s.insert(b);
21+
if (a < s.size()) s.erase(s.begin());
22+
}
23+
int result = 0;
24+
for (auto r : s) {
25+
result += r;
26+
}
27+
cout << result;
28+
}
29+
30+
int main (){
31+
cin.tie(0) -> sync_with_stdio(0);
32+
33+
solve();
34+
return 0;
35+
}

1418.cpp

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#include <iostream>
2+
using namespace std;
3+
4+
void solve(){
5+
int N, K; cin >> N >> K;
6+
int result = N;
7+
for (int i = 1; i <= N; i++) {
8+
int t= i;
9+
for (int j = 2; j<=K; j++) {
10+
if (t % j) continue;
11+
while (t%j==0) t/=j;
12+
}
13+
if (t > K) result--;
14+
}
15+
cout << result;
16+
}
17+
18+
int main()
19+
{cin.tie(0)->sync_with_stdio(0);
20+
solve();
21+
return 0;
22+
}

1449.cpp

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#include <iostream>
2+
#include <memory.h>
3+
using namespace std;
4+
5+
typedef long long ll;
6+
7+
void solve(){
8+
int N,L; cin >> N >> L;
9+
int t = 0;
10+
bool check[2000]; memset(check, 0, sizeof(check));
11+
while (N--) {
12+
int c; cin >> c;
13+
check[c] = true;
14+
}
15+
for (int i = 1; i <= 1000; i++) {
16+
if (check[i]) {
17+
t++;
18+
i+=L-1;
19+
}
20+
}
21+
cout << t;
22+
}
23+
24+
int main()
25+
{
26+
cin.tie(0)->sync_with_stdio(0);
27+
solve();
28+
return 0;
29+
}

1493.cpp

+42
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#include <iostream>
2+
#include <algorithm>
3+
using namespace std;
4+
typedef long long ll;
5+
6+
ll arr[20];
7+
8+
ll check(int length, int width, int height) {
9+
if (!length || !width || !height) return 0;
10+
11+
for (int i = 19; i>=0; i--) {
12+
int t = 1<<i;
13+
if (arr[i] && length >= t && width >= t && height >= t) {
14+
arr[i]--;
15+
ll result = 1;
16+
17+
result += check(t, t, height-t);
18+
19+
result += check(length-t, t, height);
20+
result += check(length, width-t, height);
21+
return result;
22+
}
23+
}
24+
return -1e9;
25+
}
26+
27+
void solve(){
28+
ll l,w,h; cin >> l >> w >> h;
29+
int N; cin >> N;
30+
for (int i = 0; i < N; i++) {
31+
ll a,b; cin >> a >> b;
32+
arr[a]+=b;
33+
}
34+
cout << max(-1LL, check(l,w,h));
35+
}
36+
37+
int main (){
38+
cin.tie(0) -> sync_with_stdio(0);
39+
40+
solve();
41+
return 0;
42+
}

0 commit comments

Comments
 (0)