結果
問題 | No.81 すべて足すだけの簡単なお仕事です。 |
ユーザー |
|
提出日時 | 2017-07-22 15:44:41 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,710 bytes |
コンパイル時間 | 608 ms |
コンパイル使用メモリ | 66,944 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-09 09:53:56 |
合計ジャッジ時間 | 2,817 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | WA * 17 RE * 13 |
ソースコード
#include <iostream>using namespace std;using ll = long long;constexpr ll OFFSET = 1e10;int main(){int N;cin >> N;ll sum = 0;for (int n = 0; n < N; n++) {string s;cin >> s;string st[2];int ind = 0;for (int i = 0; i < s.size(); i++) {if (s[i] == '-') {st[0].push_back('-');st[1].push_back('-');continue;}if (s[i] == '.') {ind = 1;continue;}st[ind].push_back(s[i]);}ll integer = 0;ll floating = 0;integer = stoll(st[0]);if (not st[1].empty()) {const int size = (st[1][0] == '-') ? st[1].size() - 1 : st[1].size();for (int i = 0; i < 10 - size; i++) {st[1].push_back('0');}string ss;bool start = false;for (int i = 0; i < st[1].size(); i++) {if (st[1][i] == '0' and (not start)) {continue;}start = true;ss.push_back(st[1][i]);}floating = stoll(ss);} else {floating = 0;}cout << integer << " " << floating << endl;sum += integer * OFFSET + floating;}const ll integer = sum / OFFSET;cout << integer << ".";const ll floating = sum % OFFSET;ll num = floating;char s[10];for (int i = 0; i < 10; i++) {s[9 - i] = '0' + num % 10;num /= 10;}for (int i = 0; i < 10; i++) {cout << s[i];}cout << endl;return 0;}