1. 程式人生 > >URAL - 2065 Different Sums (思維題)

URAL - 2065 Different Sums (思維題)

長度 cstring bsp space class def sca 思維 std

題意:

給n和k,讓你用不小於 k 個不同的數字構成一個長度為n的序列,使得序列中不同的區間和的數目最小。

n,k<=500

k-1個數填一些數字的一正一負,這樣有些區間和為0。

剩下的都填0。

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <string>
using namespace std;

#define maxn 100010


int main()
{
    
int n, m; scanf("%d%d", &n, &m); int k = 0, a[maxn]; memset(a, 0, sizeof(a)); for (int i = 1; i <= m-1; i++) { if (k < 0) k = -k; else k = -k - 1; a[i] = k; } for (int i = 1; i < n; i++) printf("%d ", a[i]); printf(
"%d\n", a[n]); }

URAL - 2065 Different Sums (思維題)