1. 程式人生 > >數列分段Section I

數列分段Section I

才不是為了和“數列分段II”湊成一套題才水的部落格

題目

點我啊

題解

這麼水的貪心看什麼題解

code

#include <bits/stdc++.h>
#define up(i, a, b) for(register int i = a; i <= b; ++i)
#define down(i, a, b) for(register int i = a; i >= b; i--) 
using namespace std;
const int MAXX = 1e5 + 100;
typedef long long ll;

inline int read() {
	int s = 0, w = 1;
	char ch = getchar();
	while (!isdigit(ch)) { if(ch == '-') w = -1; ch = getchar(); }
	while (isdigit(ch)) { s = (s << 1) + (s << 3) + (ch ^ 48); ch = getchar(); }
	return s * w;
}

int n, m;
int a[MAXX], cnt = 0, sum = 0;

int main() {
	n = read(); m = read();
	for (int i = 1; i <= n; ++i) {
		a[i] = read(); 
	}
	for (int i = 1; i <= n; ++i) {
		sum += a[i]; 
		if (sum > m) {
			sum = 0;
			i -= 1;
			++cnt;
		}
	}
	cnt++;
	printf("%d\n", cnt);
	return 0;
}

水部落格