結果
問題 | No.297 カードの数式 |
ユーザー |
![]() |
提出日時 | 2015-11-09 15:14:56 |
言語 | C++11 (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,357 bytes |
コンパイル時間 | 1,575 ms |
コンパイル使用メモリ | 165,784 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-09-13 14:15:00 |
合計ジャッジ時間 | 2,216 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 10 WA * 13 |
ソースコード
#include <bits/stdc++.h> #include <cmath> #include <climits> #include <cstdio> using namespace std; #define endl '\n' #define ALL(a) (a).begin(),(a).end() #define SZ(a) int((a).size()) #define FOR(i,a,b) for(int i=(a);i<(b);++i) #define RFOR(i,a,b) for (int i=(b)-1;i>=(a);i--) #define REP(i,n) FOR(i,0,n) #define RREP(i,n) for (int i=(n)-1;i>=0;i--) #define DEBUG(x) cout<<#x<<": "<<x<<endl typedef pair<int,int> P; typedef long long int LL; typedef pair<LL,LL> LP; int main() { ios::sync_with_stdio(false); cin.tie(0); int N; vector<char> c; cin >> N; int np = 0, nm = 0; vector<int> num; REP(i,N){ char c; cin >> c; if(c == '+'){ np++; }else if(c == '-'){ nm++; }else{ num.push_back(c-'0'); } } int ans1 = 0, ans2 = 0; vector<int> num2; sort(ALL(num)); //REP(i,SZ(num)) DEBUG(num[i]); int p = 0; REP(i,nm){ num2.push_back(num[i]); p++; } REP(i,np){ num2.push_back(num[i]); p++; } int m = 0; RFOR(i,p,SZ(num)){ m *= 10; m += num[i]; } num2.push_back(m); p = 0; //REP(i,SZ(num2)) DEBUG(num2[i]); REP(i,nm){ ans1 -= num2[p]; //DEBUG(ans1); p++; } REP(i,np){ ans1 += num2[p]; //DEBUG(ans1); p++; } //DEBUG(num[p]); ans1 += num2[p]; p = 0; REP(i,np+1){ ans2 += num2[p]; p++; } REP(i,nm){ ans2 -= num2[p]; p++; } cout << ans1 << ' ' << ans2 << endl; return 0; }