diff options
author | Raphael McSinyx <vn.mcsinyx@gmail.com> | 2017-01-01 21:05:53 +0700 |
---|---|---|
committer | Raphael McSinyx <vn.mcsinyx@gmail.com> | 2017-01-01 21:15:44 +0700 |
commit | 7206ecee7579a10dd347d06b397b3790e969f8f3 (patch) | |
tree | 0b7218b75d8dae913fd91c695e105fc6f2256479 /others/easy20160714/15.c | |
parent | c67182c04491f2cf8b67e78b68aebf32aea25470 (diff) | |
download | cp-7206ecee7579a10dd347d06b397b3790e969f8f3.tar.gz |
Add others/easy20160714
Diffstat (limited to 'others/easy20160714/15.c')
-rw-r--r-- | others/easy20160714/15.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/others/easy20160714/15.c b/others/easy20160714/15.c new file mode 100644 index 0000000..fc9c8e4 --- /dev/null +++ b/others/easy20160714/15.c @@ -0,0 +1,32 @@ +#define _GNU_SOURCE +#include <stdio.h> +#include <stdlib.h> + +int main() +{ + FILE *fi = fopen("INP.TXT", "r"), *fo = fopen("OUT.TXT", "w"); + int n, m, i, *a, *b, x, y; + char signal; + + fscanf(fi, "%d %d", &n, &m); + a = malloc(n * sizeof(int)); + b = malloc(n * sizeof(int)); + + for (i = 0; i < n; i++) + fscanf(fi, "%d %d", a + i, b + i); + + for (i = 0; i < m; i++) { + fscanf(fi, "%hhd %d %d", &signal, &x, &y); + x--; + + b[x] += (signal ^ 1) ? -y : y; + if (b[x] < a[x]) { + fprintf(fo, "BUY %d %d\n", x + 1, a[x] - b[x]); + b[x] = a[x]; + } + } + + fcloseall(); + + return 0; +} |